C#正则表达式可选匹配

Dan*_*lis 2 .net c# regex

我有一些页面内容,其中包含以下代码行的多次出现:

<li class="r"><h3><a href="/test-url.htm">test string</a></h3></li>
Run Code Online (Sandbox Code Playgroud)

我正在使用.NET Regex查找内容中的所有匹配项并返回锚标记的href.

我的问题是,有时候<li>引号缠绕在类中(如上所示),但其他人没有,只是有:class=r

我需要有和没有引号的比赛.

我尝试了各种方法,但似乎没有任何工作.当有报价时,它们都匹配,但不是没有报价.以下是我目前的尝试:

Regex _Regex = new Regex(@"<li class=(?:"")g([^>])*>((?!<h3).)*<h3([^>])*><a\shref=""(?<URL>[^""]*)""([^>])*>((?!</li).)*", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢,

谢谢.

Rus*_*rke 6

我认为你想要的格式是

""?

问号将前面的char标记为可选.