我有一個包含下面的一行代碼的多次出現某些頁面內容: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