javascript - JavaScript 正则表达式中的换行符问题

标签 javascript regex newline

我尝试使用该正则表达式不在下面的字符串中显示“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/

相关文章:

javascript - firebase如何获取过滤后的文档

javascript - 表达异步发布请求

javascript - 使用AJAX定时器获取 "PHP URL Content"

php - PHP 中的 preg_replace - NOT 条件的正则表达式

php - 去掉括号前后的空格

javascript - 新行无法出现在 Canvas 内的字符串中

javascript - 文本区域中的新行字符增加了 C# 中的文本长度

javascript - ES7 装饰器规范是否要求描述符具有 `initializer` 方法

javascript - 通过正则表达式在javascript中搜索反斜杠+字符串

xml - 如何在 XML 文件中添加换行符(换行符)?