【发布时间】:2012-12-07 04:49:42
【问题描述】:
我有以下 html 内容,我只想使用正则表达式提取 ID,例如 31673 31672 3166 316。
<a href="/CaseMgrTesting/Pat/Summary/31673">31673</a>
<a href="/CaseMgrTesting/Pat/Summary/31672">31672</a>
<a href="/CaseMgrTesting/Pat/Summary/3166">3166</a>
<a href="/CaseMgrTesting/Pat/Summary/316">316</a>
我创建如下正则表达式,不幸的是它只返回 31673 31672。我还想删除像 href="/CaseMgrTesting/Pat/Summary/ 和 \d\d\d\d\d 这样的硬代码,任何人都可以给我正确的正则表达式将不胜感激。
(?<=<a\shref="/CaseMgrTesting/Pat/Summary/\d\d\d\d\d">).*(?=</a>)
【问题讨论】:
-
简单:你不知道。您将使用 HTML 解析器。
-
您是否尝试使用正则表达式来解析 html?如果是这样,您可能想阅读以下内容:stackoverflow.com/questions/1732348/…
-
每次您使用正则表达式进行 HTML 解析时,另一位 Web 开发人员都会突然产生连续七年在角落里默默哭泣的冲动。
-
另外,不是要精确匹配最多五位数字吗?我对正则表达式仍然生疏,无法谈论太多。这也许可以解释为什么你只得到五个。
-
就像@CBredlow 说的:
(?<=<a\shref="/CaseMgrTesting/Pat/Summary/\d+">).*(?=</a>)
标签: asp.net html regex html-parsing