<A.....>如何去掉<A和>然后提取中间的数据,用正则实现

解决方案 »

  1.   

    string str  = "AAAAAAA<A href='sfasfa'>bbbbbbbb</a>";
     str= System.Text.RegularExpressions.Regex.Replace(str,".*?<a.*?>(.*?)</a>","$1",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
    Response.Write(str);
      

  2.   

    或者: string str  = "AAAAAAA<A href='sfasfa'>bbbbbbbb</a>";
     System.Text.RegularExpressions.Regex reg = new Regex("<a.*?>(.*?)</a>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
     
     System.Text.RegularExpressions.MatchCollection ms = reg.Matches(str);
     
    for (int i=0;i<ms.Count;i++)
    {
    Response.Write(ms[i].Result("$1")+"<BR>");
    }
      

  3.   

    //表达式
    string rule = @"<a(?=[\s>])[^>]*>([\s\S]*?)</a>";//取值:
    MatchCollection matchs = Regex.Matches(yourStr,rule,RegexOptions.IgnoreCase);
    foreach(Match aa in matchs)
    {
        aa.Group["1"].Value;
    }//去掉:
    yourStr = Regex.Replace(yourStr,rule,@"$1",RegexOptions.IgnoreCase);
      

  4.   

    cpp2017(慕白兄) 小心别把<area>标签也给替换了
      

  5.   

    比如AAAAAAA<A href='sfasfa'>bbbbbbbb</a>
    看楼主的意思,好像是只要 href='sfasfa'这一部分,如果是这样,楼上的正则稍稍改变一下就行了
    string rule = @"<a(?=[\s>])([^>]*)>";
    然后用楼上的代码,aa.Group["1"].Value;即为所要提取的内容
      

  6.   

    (?<=\<A).*(?=>)
    已调试
      

  7.   

    Click the link to solve your problem.Good luck!