如何使用正则表达式提取html内容的数据?

时间:2012-12-19 18:51:03

标签: asp.net html regex html-parsing

我有以下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>)

3 个答案:

答案 0 :(得分:1)

你的一站式答案是 Html Agility Pack。这个漂亮的必备功能允许您逐个接口HTML。学习它。住它。喜欢它。

答案 1 :(得分:1)

<a .*?>(.*)</a>

使用此正则表达式来解决此问题。它很简单就试试吧。

答案 2 :(得分:0)

使用此(正则表达式的更新答案):

<a .*?>(.*?)</a>

这一点的重要部分是?之后的*。这将使.*(全部匹配)非贪婪,否则您最多只能有一个匹配。