代码之家  ›  专栏  ›  技术社区  ›  Jens Kohl

在多行正则表达式中是否有用于捕获换行符的标记?

  •  0
  • Jens Kohl  · 技术社区  · 15 年前

    在尝试使用php和preg*函数进行html抓取时,我曾多次遇到这个问题。

    <!-- comment -->
    <tag1>lorem ipsum</tag>
    
    <p>just more text with several html tags in it, sometimes CDATA encapsulated…</p>
    <!-- /comment -->
    

    我特别想要这样的东西:

    /<tag1>(.*?)<\/tag1>\n\n<p>(.*?)<\/p>/mi
    

    但是 \n\n 看起来没用。

    有通用的线路断路开关吗?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Paulo Santos    15 年前

    我想你可以换新的 \n\n 具有 (\r?\n){2} 通过这种方式,您可以捕获 CRLF 配对,而不仅仅是 LF 烧焦

        2
  •  1
  •   Brian Agnew    15 年前

    是否确实要使用regexps解析HTML?HTML是不规则的,而且有太多的角落案例。

    this one ?),然后通过返回的HTML数据结构确定您感兴趣的模式。

        3
  •  0
  •   timmow    15 年前