【发布时间】:2011-07-29 13:20:02
【问题描述】:
我有一个字符串,其中有锚标记我想知道这些锚标记的 href 值。 我的字符串是这样的:
This is Test page <a href='test.aspx'>test page</a> .
在此我想找到 href 的值,即 test.aspx
请为此建议我任何好的 regx 组。
【问题讨论】:
我有一个字符串,其中有锚标记我想知道这些锚标记的 href 值。 我的字符串是这样的:
This is Test page <a href='test.aspx'>test page</a> .
在此我想找到 href 的值,即 test.aspx
请为此建议我任何好的 regx 组。
【问题讨论】:
如果您使用<a [^>]*href=(?:'(?<href>.*?)')|(?:"(?<href>.*?)"),则结果将存储在命名组 href 中
例子:
var inputString="This is Test page <a href='test.aspx'>test page</a>";
var regex=new Regex("<a [^>]*href=(?:'(?<href>.*?)')|(?:\"(?<href>.*?)\")",RegexOptions.IgnoreCase);
var urls=regex.Matches(inputString).OfType<Match>().Select(m =>m.Groups["href"].Value);
urls 将是包含 href 的字符串集合。
【讨论】:
不要在 HTML 上使用 Regex,而是考虑使用 Html Agility Pack。
【讨论】:
以下正则表达式可以解决问题:
href=['"]([^'"]+?)['"]
【讨论】: