javascript - 正则表达式捕获字符,包括标签之间的空格

标签 javascript regex

我正在尝试解析短代码:

[shortcode]the content inside[/shortcode]

这工作正常,因为它都是一行,但是一旦我有多行,我就很难捕获该组:

[shortcode]
this is 

the content
[/shortcode]

我当前匹配内联文本的表达式是:\[([^\]]*?)\](.*)\[\/\1\]

我在修改 (.*) 部分以捕获包括新行在内的所有内容时遇到问题。 这是要在 javascript 中使用的,所以我不能使用 /s 修饰符。

示例如下:http://regex101.com/r/nZ1hZ4

最佳答案

由于 Javascript 不支持 DOTALL 标志,您可以使用 [\s\S] 而不是 DOT 来使其匹配新行:

\[([^\]]*?)\]([\s\S]*?)\[\/\1\]

关于javascript - 正则表达式捕获字符,包括标签之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517501/

相关文章:

正则表达式查询查找行长度不同的所有 2 个字符组

正则表达式 "is not a constant"编译错误

javascript - 捕获后面没有符号的单词

regex - 贪婪的正则表达式与 postgresql 不兼容? (子串匹配)

javascript - AngularJS 将 ng-repeat 值传递给 ng-click

javascript - 如果失败,Gradle minifyJS 跳过文件

javascript - react 查询:如果出现错误,请勿按时间间隔重新获取

javascript - 无法将新寄存器发送到我的数据库 mongodb

javascript - Backbone.js 模型缓存

regex - hive 找到最后一次出现