想匹配出含有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属性的位置不固定

解决方案 »

  1.   

    (?i)(?<=<a[^>]*?>)[^<>]+?(?=</a>)
      

  2.   

     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();
               
      

  3.   

     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();