正则表达式提取属性值

时间:2011-04-02 21:43:47

标签: c# html regex

提取HTML表格标题属性值的快捷方法是什么:

...
<li><a href="/wiki/Proclo" title="Proclo">Proclo</a></li>
<li><a href="/wiki/Proclus" title="Proclus">Proclus</a></li>
<li><a href="/wiki/Ptolemy" title="Ptolemy">Ptolemy</a></li>
<li><a href="/wiki/Pythagoras" title="Pythagoras">Pythagoras</a></li></ul><h3>S</h3>
...

所以它将返回Proclo,Proclus,Ptolemy,Pythagoras,....每行的字符串。我正在使用StreamReader读取文件。我正在使用C#。

谢谢。

2 个答案:

答案 0 :(得分:17)

这个C#正则表达式将找到所有标题值:

(?<=\btitle=")[^"]*

C#代码是这样的:

Regex regex = new Regex(@"(?<=\btitle="")[^""]*");
Match match = regex.Match(input);
string title = match.Value;

正则表达式使用正向后看来查找title值开始的位置。然后它匹配所有内容直到结束双引号。

答案 1 :(得分:5)

使用下面的正则表达式

title="(.[^"]+)"

然后使用群组浏览匹配的元素。

编辑:我修改了正则表达式以涵盖@StaffanNöteberg评论中提供的示例