【问题标题】:Matching content between tags in web source匹配 Web 源中标签之间的内容
【发布时间】:2010-06-08 11:58:39
【问题描述】:

我想知道什么是获取字符串中标签之间的文本的最快和最简单的方法。
例如我有这个字符串:Lorem ipsum <a>dolor sit amet</a>, <b>consectetur</b> adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
我需要找到标签<a> </a><b> </b>之间的文本。

谢谢。

【问题讨论】:

    标签: c# regex text match


    【解决方案1】:

    解析 HTML 非常非常困难,因为网页很少是正确的,你会发现很多不匹配的标签和奇怪的东西。

    如果这是用于真实世界的页面,请使用 HTMLAgilityPack

    【讨论】:

      【解决方案2】:

      <a>(.*)</a>.*<b>(.*)</b> 将在在这种特殊情况下工作,但通常使用正则表达式解析 html 不是一个好主意。请改用 HTML/XML 解析器。

      试试HTMLAgilityPack:这个SO post 解释了如何使用它。

      【讨论】:

        【解决方案3】:
        .+<a>(.+)</a>.+<b>(.+)</b>.+
        

        第一个匹配组将包含 A 标记之间的文本,第二组包含 B 标记之间的文本。

        【讨论】:

        • 您的意思是() 而不是{}
        • @Amarghosh:是的,谢谢!不小心与 VS 正则表达式风格混为一谈
        猜你喜欢
        • 2018-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        • 2013-10-31
        • 2016-09-11
        相关资源
        最近更新 更多