簡體   English   中英

解釋用於從String中刪除html代碼的正則表達式

[英]Explain regular expression for removing html code from String

我有一個正則表達式從字符串中刪除html代碼:

var html = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

text = html.replace(/(<([^>]+)>)/ig, "")

alert(text)

這是jsfiddle上的表達式: http//jsfiddle.net/VgHr3/53/

正則表達式本身是/(<([^>]+)>)/ig 我不完全理解這個表達式是如何工作的。 可以提供解釋嗎? 通過閱讀備忘單,我可以找到每個角色本身的行為: http//www.cheatography.com/davechild/cheat-sheets/regular-expressions/

但是“/ ig”的意義是什么?

那些是全球旗幟。 你的備忘單實際上是在右側列出的:

Regular Expressions Pattern Modifiers
g   Global match
i   Case-i­nse­nsitive
m   Multiple lines
s   Treat string as single line
x   Allow comments and white space in pattern
e   Evaluate replac­ement
U   Ungreedy pattern

請注意,JavaScript正則表達式引擎並不支持所有這些標志。 有關權威列表,請參閱此MDN文章

因此“g”標志使其成為全局標志,因此無論在何處找到它都會替換此模式,而不僅僅是第一個實例(這是replace方法的默認行為)。

“i”標志使其不區分大小寫,因此像[az]+這樣的模式將匹配"foo""FOO" 但是,因為您的模式只涉及<>字符,所以此標志無用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM