我有一个包含下面的一行代码的多次出现某些页面内容:C#正则表达式匹配可选
<li class="r"><h3><a href="/test-url.htm">test string</a></h3></li>
我使用.NET正则表达式来查找内容的所有事件,并返回我的HREF的锚标签。
我的问题是,有时<li>
有引号类缠(如上图所示),但其他人没有,只是有:class=r
我需要对阵双方的匹配和不带引号。
我试过各种方法,但似乎没有任何工作。有报价时,它们全都匹配,但不是没有报价。下面是我当前的尝试:
Regex _Regex = new Regex(@"<li class=(?:"")g([^>])*>((?!<h3).)*<h3([^>])*><a\shref=""(?<URL>[^""]*)""([^>])*>((?!</li).)*", RegexOptions.IgnoreCase);
任何帮助是非常赞赏,
感谢。
正则表达式不擅长处理HTML。如果你只是想找到重复,你可能会更好使用xpath –
我知道我没有回答你的问题,但你不应该使用正则表达式来解析HTML。改为使用[Html Agility Pack](http://htmlagilitypack.codeplex.com/)会更好。 – Justin
+1这个想法,非常好用。 – Marc