gpt4 book ai didi

正则表达式匹配两个字符串之间的所有内容,跨多行

转载 作者:行者123 更新时间:2023-12-04 09:41:01 37 4
gpt4 key购买 nike

我如何正则表达式匹配两个字符串之间的所有内容?
两个字符串之间的内容跨越几行,也可以包含所有html字符。

例如:

<p>something</p>

<!-- OPTIONAL -->

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

<!-- OPTIONAL END -->

<p>The end</p>

我要去除整个可选部分。但是贪婪的任何字符匹配都不能满足我的要求。
  • <!-- OPTIONAL -->.*<!-- OPTIONAL END -->
  • <!-- OPTIONAL -->(.*)<!-- OPTIONAL END -->
  • <!-- OPTIONAL -->(.*)\s+<!-- OPTIONAL END -->
  • (?=<!-- OPTIONAL -->)(.*)\s+<!-- OPTIONAL END -->

  • 如果仅给出了第一部分,则它们都与第一个可选标记匹配,但对于完整的行来说效果不佳。

    这是一个示例: http://regexr.com?352bk

    谢谢

    最佳答案

    选中RegExr中的dotall复选框:)

    没有dotall标志(s中的/regex/s),点(.)将不匹配回车符。

    您应该使用 .*? 而不是 .* 来延迟匹配可选内容(请参见示例中的PLEASE DO NOT MATCH!句子)。

    关于正则表达式匹配两个字符串之间的所有内容,跨多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16840126/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com