如何匹配两个字符串之间的所有文本多行

时间:2014-06-23 22:16:00

标签: regex

我试图完成与here相同的事情:

即。假设你有一个类似的文字:

<p>something</p>

<!-- OPTIONAL -->

<p class="sdf"> some text</p>
<p> some other text</p>

<!-- OPTIONAL END -->

<p>The end</p>

匹配的正则表达式是什么:

<p class="sdf"> some text</p>
<p> some other text</p>

我已使用

设置live test here
<!-- OPTIONAL -->(.*?)<!-- OPTIONAL END -->

但它没有正确匹配。此页面上接受的答案对我来说也不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:12)

不幸的是,RegExr依赖于JS RegExp实现,它不支持启用所需的标志/修饰符的选项。

您正在寻找s DotAll )修饰符强制.以匹配换行符序列。

如果您使用的是JavaScript,则可以使用此解决方法:

/<!-- OPTIONAL -->([\S\s]*?)<!-- OPTIONAL END -->/