62,041
社区成员
发帖
与我相关
我的任务
分享
Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)([^'""\s>]+)\1[^>]*>((?:(?!</?a\b).)*)</a>");
string result = reg.Replace(yourStr, delegate(Match m) { if (m.Groups[2].Value.IndexOf("abc") > -1) return m.Value; return m.Groups[3].Value; });
将
<a href=www.abc.com>abc </a>啊啊啊 <a href=bcd.com>abc </a>啊啊啊 <a href="www.abc.com" class="t1">abc </a>啊啊啊 <a href=def.com>abc </a>啊啊啊 <a href=efg.com>abc </a>
变成
<a href=www.abc.com>abc </a>啊啊啊 啊啊啊 <a href="www.abc.com" class="t1">abc </a>啊啊啊 啊啊啊
Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)(?:(?!abc|['""\s>]).)+\1(?:\s[^>]*)?>((?:(?!</?a\b).)*)</a>");
string result = reg.Replace(yourStr, "$2");
<a href=www.abc.com>abc </a>啊啊啊 <a href=bcd.com>abc </a>啊啊啊 <a href="www.abc.com" class="t1">abc </a>啊啊啊 <a href=def.com>abc </a>啊啊啊 <a href=efg.com>abc </a>
Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)(?!abc|['""\s>])+\1[^>]*>((?:(?!</?a\b).)*)</a>");
string result = reg.Replace(yourStr, "$2");
string input = "<a href=abc.com>abc </a>啊啊啊 <a href=bcd.com>abc </a>啊啊啊 <a href=\"abc.com\" class=\"t1\">abc </a>啊啊啊 <a href=def.com>abc </a>啊啊啊 <a href=efg.com>abc </a> ";
MatchCollection mcs = Regex.Matches(input, "<a[\\s]*href=[\"]?[^a\"][^b][^c][^>]+>[^<]+</a>");
Regex rex = new Regex("(?<=<a[\\s]*href=[\"]?[^a\"][^b][^c][^>]+>)[^<]+(?=</a>)");
Regex rexAll = new Regex("<a[\\s]*href=[\"]?[^a\"][^b][^c][^>]+>[^<]+</a>");
for (int i = 0; i < mcs.Count; i++)
{
Match mc = rex.Match(mcs[i].ToString());
input = rexAll.Replace(input, mc.ToString(), 1);
}