我有一些页面内容包含以下代码行的多次出现:
<li class="r"><h3><a href="/test-url.htm">test string</a></h3></li>
我正在使用 .NET Regex 查找内容中所有出现的地方,并返回 anchor 标记的 href。
我的问题是有时 <li>
在类周围有引号(如上所示),但其他人没有,只有:class=r
我需要匹配带引号和不带引号的匹配项。
我尝试了各种方法,但似乎都没有效果。当有引号时它们都匹配,但不是没有引号。以下是我目前的尝试:
Regex _Regex = new Regex(@"<li class=(?:"")g([^>])*>((?!<h3).)*<h3([^>])*><a\shref=""(?<URL>[^""]*)""([^>])*>((?!</li).)*", RegexOptions.IgnoreCase);
非常感谢任何帮助,
谢谢。
最佳答案
我觉得你想要的格式是
“”?
不是
?:
问号将前面的字符标记为可选。
关于C# 正则表达式可选匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012070/