<a href="http://www.baidu.com" ><span class="MyClass">百度</span></a>其中:
1、href的值是可变的
2、<span class="MyClass">与可有可无,并且class的值是可变的。求正则:
同时匹配<a href="http://www.baidu.com" ><span class="MyClass">百度</span></a>
得到href的值(放在分组里)?
我写的:(?is)<a href="([^'""\s]+)[^>]*?"\s?>东莞</a> 只能匹配没有span的时候
1、href的值是可变的
2、<span class="MyClass">与可有可无,并且class的值是可变的。求正则:
同时匹配<a href="http://www.baidu.com" ><span class="MyClass">百度</span></a>
得到href的值(放在分组里)?
我写的:(?is)<a href="([^'""\s]+)[^>]*?"\s?>东莞</a> 只能匹配没有span的时候
Match match = Regex.Match(s, @"<a[^>]href=""([^""]+?)""[^>]>.*?</a>", RegexOptions.IgnoreCase);
Response.Write(match.Groups[1].Value + "<br/>");
1、href的值是可变的
2、<span class="MyClass">与可有可无,并且class的值是可变的。
3、百度 这个词是不变的。求正则:
同时匹配<a href="http://www.baidu.com" ><span class="MyClass">百度</span></a>
得到href的值(放在分组里)?
我写的:(?is)<a href="([^'""\s]+)[^>]*?"\s?>东莞</a> 只能匹配没有span的时候
楼上的为什么是href=""http://www.baidu.com"" 两个""呢?
Match match = Regex.Match(s, @"<a[^>]href=""([^""]+?)""[^>]>.*?百度.*?</a>", RegexOptions.IgnoreCase);
Response.Write(match.Groups[1].Value + "<br/>");两个前面加了@,""就表示"
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""\s]?)([^'""\s]+)\1[^>]*?>.*?百度.*?</a>");
foreach (Match m in reg.Matches(str))
Response.Write(m.Groups[2].Value);
这里主要是你说的百度是固定词。所以只要百度固定后找到href就可以。