【问题标题】:Regular expression to extract info from HTML file从 HTML 文件中提取信息的正则表达式
【发布时间】:2020-06-08 11:20:55
【问题描述】:

我想使用正则表达式从 HTML 文件中提取以下文本:">ABCDE</A></td><td>

我需要提取:ABCDE

有人可以帮我解决我应该使用的正则表达式吗?

【问题讨论】:

标签: python html python-re


【解决方案1】:

依靠这个,https://stackoverflow.com/a/40908001/11450166

(?<=(<A>))[A-Za-z]+(?=(<\/A>))

使用该表达式,假设您的标签是&lt;A&gt; &lt;/A&gt;,可以正常工作。

这与您的输入表单相匹配。

(?<=(>))[A-Za-z]+(?=(<\/A>))

【讨论】:

    【解决方案2】:

    您可以尝试在您的具体示例中使用此正则表达式:

    /">(.*)<\/A><\/td><td>/g
    

    在字符串上测试:

    Lorem ipsum">ABCDE</A></td><td>Lorem ipsum<td></td>Lorem ipsum
    

    摘录:

    ">ABCDE</A></td><td>
    

    那么这就是使用任何编程语言从每个匹配项中提取子字符串的问题。这可以从正则表达式中的 匹配 字符串中删除 前 2 个字符和 后 13 个 个字符,以便您只能提取 ABCDE。

    我也试过了:

    /">([^<]*)<\/A><\/td><td>/g
    

    它具有相同的效果,但它不会包含包含额外 HTML 代码的匹配项。据我了解,([^&lt;]*) 是一个否定集,与该区域中的&lt; 字符不匹配,因此它不会捕获该区域内的其他标记元素。如果您尝试搜索某些特定文本并且需要过滤嵌套的 HTML 代码,这对于更精细地控制可能很有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 2010-09-15
      相关资源
      最近更新 更多