string s = @"<body><div>论坛abc 论坛xafas这里是要替换的论坛A  <a href="">论坛超链接里的文本不替换 论坛</a> 论坛</div> </body> xxx";string result = Regex.Replace(s, @"正则", "<a>论坛</a>", RegexOptions.IgnoreCase);要求替换后结果为:
"<body><div><a>论坛</a>abc <a>论坛</a>xafas这里是要替换的<a>论坛</a>A  <a href="">论坛超链接里的文本不替换 论坛</a> <a>论坛</a></div> </body> xxx";红色的部分不替换

解决方案 »

  1.   

    补充一下 字符串s里面<body> <div>这些东西也可能没有的,<a>..</a>肯定有
      

  2.   


    string s = @" <body> <div>论坛abc 论坛xafas这里是要替换的论坛A  <a href="">论坛超链接里的文本不替换 论坛 </a> 论坛 </div> </body> xxx"; string result = Regex.Replace(s, @"(?<!<a[^>]+>[^<]*)论坛(?![^(</a>)]*?</a>)", "<a href=''>论坛</a>", RegexOptions.IgnoreCase); 
    另外和你说一下转义的"要写两个如上面那个就要写成string s=@" <body> <div>论坛abc 论坛xafas这里是要替换的论坛A  <a href="""">论坛超链接里的文本不替换 论坛 </a> 论坛 </div> </body> xxx";