正则表达式获取文本后锚标记C#

时间:2014-06-18 23:35:45

标签: c# regex anchor

我有一个C#Regex如下:

Regex r = new Regex(@"(?<value1>.*?)<a.*?href=(""|')(?<href>.*?)(""|').*?>(?<value2>.*?)</a>(?<value3>.*?)");

我可以获得value1,href,value2完美的文本。但是,value3总是&#34;&#34;。

我错过了获得锚点结束标记()之后的文本。

1 个答案:

答案 0 :(得分:6)

如果您使用 Parser ,则不会返回空值,因为使用正则表达式解析HTML并不是解决此问题的最佳方法。但要解决这个问题,请从表达式末尾删除非贪婪量词,使其变得贪婪(匹配尽可能多的)。

(?<value3>.*?)
            ^ Remove non-greedy quantifier

让它贪婪

(?<value3>.*)

请参阅Live Demo

相关问题