【发布时间】:2020-06-08 11:20:55
【问题描述】:
我想使用正则表达式从 HTML 文件中提取以下文本:">ABCDE</A></td><td>
我需要提取:ABCDE
有人可以帮我解决我应该使用的正则表达式吗?
【问题讨论】:
-
这能回答你的问题吗? Parsing HTML using Python
我想使用正则表达式从 HTML 文件中提取以下文本:">ABCDE</A></td><td>
我需要提取:ABCDE
有人可以帮我解决我应该使用的正则表达式吗?
【问题讨论】:
依靠这个,https://stackoverflow.com/a/40908001/11450166
(?<=(<A>))[A-Za-z]+(?=(<\/A>))
使用该表达式,假设您的标签是<A> </A>,可以正常工作。
这与您的输入表单相匹配。
(?<=(>))[A-Za-z]+(?=(<\/A>))
【讨论】:
您可以尝试在您的具体示例中使用此正则表达式:
/">(.*)<\/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 代码的匹配项。据我了解,([^<]*) 是一个否定集,与该区域中的< 字符不匹配,因此它不会捕获该区域内的其他标记元素。如果您尝试搜索某些特定文本并且需要过滤嵌套的 HTML 代码,这对于更精细地控制可能很有用。
【讨论】: