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

Regex 如何匹配两个多行字符串之间的所有文本,regex,Regex,我正试图完成和你看到的一样的事情: i、 e.假设您有一个类似以下内容的文本: <p>something</p> <!-- OPTIONAL --> <p class="sdf"> some text</p> <p> some other text</p> <!-- OPTIONAL END --> <p>The end</p> 什么 一些文本 其他一些文本 结局

我正试图完成和你看到的一样的事情:

i、 e.假设您有一个类似以下内容的文本:

<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>

一些文本

其他一些文本

我已使用以下方法设置了一个:

(*)
但它不匹配。另外,页面上被接受的答案对我也不起作用。我缺少什么?

很遗憾,它依赖于JS RegExp实现,而JS RegExp实现不支持启用所需的标志/修饰符的选项

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

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

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

所需的
/s
已修改,我已修复了您文章的格式,以便我们可以看到您使用的实际正则表达式,并且我禁用了该部分的语法突出显示,以减少混淆。我不知道为什么你在开头角括号之前有反斜杠(<代码>谢谢),这似乎与我想要的正好相反,也就是删除中间的文本。有没有方法可以反转正则表达式?很棒的站点BTW。只需把你想要的东西捕捉到数组。<代码>()Wow,太好了。谢谢@hwnd如何才能抓住两者之间的内容?我想保留标识符(可选和可选结尾)。