正则表达式提取属性值

al1*_*al1 6 html c# 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>
...
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Sta*_*erg 20

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

(?<=\btitle=")[^"]*
Run Code Online (Sandbox Code Playgroud)

C#代码是这样的:

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

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


MPę*_*ski 5

使用下面的正则表达式

title="(.[^"]+)"
Run Code Online (Sandbox Code Playgroud)

然后使用Groups浏览匹配的元素.

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