繁体   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