求教正则表达式如何引用分组捕获的结果再进行匹配,谢谢
表达式1:(?<GROUP1><a[^>]+?>)
表达式2:(?<GROUP2>href="[\s\S]*?")
表达式1:可以匹配出完整的a链接,分组名为“GROUP1”。
表达式2:可以匹配出href属性值的字符串
求教:如何将两个表达式写成一个表达式,就是说如何写才能做到“表达式2”引用“表达式1”捕获到的内容再进行匹配?
十分感谢大家的帮助。
以上只是简单的示例,请不要说直接使用“表达式2”就可以做到。
正则表达式 引用 分组 匹配
[解决办法]
看4楼代码,你可以先匹配a标签,再匹配a标签中的href
string html = @"fdasf<a href=""http://www.baidu.com"" title=""百度"">";
if (System.Text.RegularExpressions.Regex.IsMatch(html, @"<a[^>]*?>"))
{
//匹配a标签
Match m = System.Text.RegularExpressions.Regex.Match(html, @"<a[^>]*?>");
//再根据匹配到得a标签去匹配href
string result = System.Text.RegularExpressions.Regex.Match(m.Value, @"<a[^>]*?href=""(?<Group2>[^""]*?)""[^>]*?>").Groups["Group2"].Value;
Console.WriteLine(result);
}