Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript regexp中的换行符问题_Javascript_Regex_Newline - Fatal编程技术网

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

因此,一旦找到
}
,正则表达式就会停止。

将要发布关于(非)贪婪的内容,但这肯定更好。将要发布关于(非)贪婪的内容,但这肯定更好。