JavaScript regexp中的换行符问题
我尝试使用该正则表达式在下面的字符串中不显示“垃圾邮件”:JavaScript regexp中的换行符问题,javascript,regex,newline,Javascript,Regex,Newline,我尝试使用该正则表达式在下面的字符串中不显示“垃圾邮件”: alert("{SPAM\nSPAM} _1_ {SPAM} _2_".replace(/{[\s\S]+}/gm, "")); 我应该看到的是“~1~~2~” (或类似的)但我只得到~2~。为什么?和{也是字符类[\s\s]的元素。应通过以下方式避免匹配: /{[^}]+}/g 因此,一旦找到},正则表达式就会停止。和{也是字符类[\s\s]的元素。应通过以下方式避免匹配: /{[^}]+}/g 因此,一旦找到},正则表达式就会
alert("{SPAM\nSPAM} _1_ {SPAM} _2_".replace(/{[\s\S]+}/gm, ""));
我应该看到的是“~1~~2~”
(或类似的)但我只得到~2~。为什么?
和{
也是字符类[\s\s]
的元素。应通过以下方式避免匹配:
/{[^}]+}/g
因此,一旦找到
}
,正则表达式就会停止。
和{
也是字符类[\s\s]
的元素。应通过以下方式避免匹配:
/{[^}]+}/g
因此,一旦找到
}
,正则表达式就会停止。将要发布关于(非)贪婪的内容,但这肯定更好。将要发布关于(非)贪婪的内容,但这肯定更好。