我尝试使用该正则表达式不在下面的字符串中显示“SPAM”:
alert("{SPAM\nSPAM} _1_ {SPAM} _2_".replace(/{[\s\S]+}/gm, ""));
我应该看到的是“~1~ ~2~”
(或类似的东西)但我只得到〜2〜。为什么?
最佳答案
}
和 {
也是字符类 [\s\S]
的元素。您应该避免通过以下方式匹配:
/{[^}]+}/g
以便在找到 }
后正则表达式停止。
关于javascript - JavaScript 正则表达式中的换行符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884152/