【发布时间】:2010-11-06 21:02:49
【问题描述】:
我正在尝试构建一个正则表达式来提取 HTML 标记内的文本,如下所示。但是,我在正则表达式方面的技能有限,并且在构建字符串时遇到了麻烦。
如何从这个标签中提取文本:
<a href="javascript:ProcessQuery('report_drilldown',145817)">text</a>
这只是页面的 HTML 源代码示例。基本上,我需要一个regex 字符串来匹配<a> 标签内的“文本”。任何人都可以帮助我吗?谢谢你。我希望我的问题没有措辞太可怕。
更新:为了澄清起见,report_drilldown 是绝对的,但我真的不在乎它是否在 regex 中作为绝对存在。
145817 是一个随机的 6 位数字,实际上是一个数据库 ID。 “文本”只是简单的纯文本,所以它不应该是无效的 HTML。另外,大多数人都说在这种情况下最好不要使用正则表达式,那么最好使用什么?非常感谢!
【问题讨论】:
-
用regex解决解析HTML的问题?现在你有两个问题。
-
怎么样?我之前在另一个任务非常相似的项目中使用过正则表达式。也许用别的东西来提取标签的文本会更好?
-
使用正则表达式解析 HTML 通常是一件坏事:stackoverflow.com/questions/701166
-
使用正则表达式的 HTML 解析不适用于无效的 html,即使是有效的 html 案例也会很痛苦。最好在 C# 中使用 Dom Document 实现,并访问特定节点的 textContent[s]。