正则表达式,捕获组

报价员

这将是示例文本:

<option value="USD">American Samoa, United States Dollar (USD)</option>
<option value="EUR">Andorra, Euro (EUR)</option>
<option value="AOA">Angola, Kwanza (AOA)</option>
<option value="XCD">Anguilla, East Caribbean Dollar (XCD)</option>
<option value="XCD">Antigua and Barbuda, East Caribbean Dollar (XCD)</option>
<option value="ARS">Argentina, Peso (ARS)</option>

这是我的尝试:

<option selected="selected" value="[A-Z]{3}">(?<Test>).+</option>

问题是,它仅与找到的第一个匹配项匹配。虽然我希望它能使所有人都受益。我在尝试中缺少什么?

布里巴

不建议将正则表达式用于HTML解析。

为什么不使用HTML Agility Pack?

http://htmlagilitypack.codeplex.com/

这是一个例子:

 HtmlDocument doc = new HtmlDocument();
 doc.LoadHtml("YOUR HTML STRING");
 foreach(HtmlNode node in doc.DocumentElement.SelectNodes("//select/option[@selected='selected']")
 {
    string text = node.InnerHtml;                  // "American Samoa, United States Dollar (USD)"
    string value = node.Attributes["value"].Value; // "USD"
 }

您也可以通过NuGet下载)

如果您喜欢这种解决方案,则可以阅读有关XPath的更多信息:

http://www.w3schools.com/XPath/xpath_syntax.asp

如果您仍然想使用Regex,可以访问以下站点:

http://www.jslab.dk/tools.regex.php

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章