我正在尝试解析短代码:
[shortcode]the content inside[/shortcode]
这工作正常,因为它都是一行,但是一旦我有多行,我就很难捕获该组:
[shortcode]
this is
the content
[/shortcode]
我当前匹配内联文本的表达式是:\[([^\]]*?)\](.*)\[\/\1\]
我在修改 (.*)
部分以捕获包括新行在内的所有内容时遇到问题。
这是要在 javascript 中使用的,所以我不能使用 /s
修饰符。
最佳答案
由于 Javascript 不支持 DOTALL 标志,您可以使用 [\s\S]
而不是 DOT
来使其匹配新行:
\[([^\]]*?)\]([\s\S]*?)\[\/\1\]
关于javascript - 正则表达式捕获字符,包括标签之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517501/