日期:2014-05-17  浏览次数:20485 次

求这样的一个正则
想匹配出含有href属性和target属性的所有<a>标签的内容,如

<a href="http://www.baidu.com" target="../1.html">百度</a>
<p>123<p/>
<a title="1" target="../2.html" href="http://www.qq.com">选择</a>
<br />
<a >

然后匹配出"百度"和“选择”,就是href和target属性的位置不固定

------解决方案--------------------
string str = @"<a href=""http://www.baidu.com"" target=""../1.html"">百度</a>
<p>123<p/>
<a title=""1"" target=""../2.html"" href=""http://www.qq.com"">选择</a>
<br />
<a >";
var array = Regex.Matches(str, @"<a(?=[^>]*?href=)(?=[^>]*?target=)[^>]*>([^<]*)</a>", RegexOptions.IgnoreCase).Cast<Match>().Select(t => t.Groups[1].Value).ToArray();