【发布时间】:2010-10-07 17:21:48
【问题描述】:
我尝试不使用该正则表达式在下面的字符串中显示“SPAM”:
alert("{SPAM\nSPAM} _1_ {SPAM} _2_".replace(/{[\s\S]+}/gm, ""));
我应该看到的是“~1~~2~”
(或类似的东西)但我只有〜2〜。为什么?
【问题讨论】:
标签: javascript regex newline
我尝试不使用该正则表达式在下面的字符串中显示“SPAM”:
alert("{SPAM\nSPAM} _1_ {SPAM} _2_".replace(/{[\s\S]+}/gm, ""));
我应该看到的是“~1~~2~”
(或类似的东西)但我只有〜2〜。为什么?
【问题讨论】:
标签: javascript regex newline
} 和{ 也是字符类[\s\S] 的元素。您应该避免通过以下方式匹配:
/{[^}]+}/g
这样,一旦找到},正则表达式就会停止。
【讨论】: