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

还是一个正则表达式问题
例:
<div>
<img src="bbs.jpg" alt="gbbs" /> vbbbs mobildbbs
</div>

求一个正则表达式,匹配第一个 论坛 这个词,替换成 <a href="http://bbs.com">bbs</a>

因为需要加上锚链接,所以不能是alt 里面的那个,也不能是src里面的.

就是说不能匹配< >里面的词 

不然加超链接会出错. 

上例匹配到的词应该是 vbbbs 中的bbs




------解决方案--------------------
C# code

void Main()
{
    string yourhtml=@"<div>
<img src=""bbs.jpg"" alt=""gbbs"" /> vbbbs mobildbbs
</div>";
 Regex reg=new Regex("(?i)(?<!<[^>]*?)bbs");
 yourhtml=reg.Replace(yourhtml,"<a href=\"http://$0.com\">$0</a>",1);
 Console.WriteLine(yourhtml);
}

/*
<div>
<img src="bbs.jpg" alt="gbbs" /> vb<a href="http://bbs.com">bbs</a> mobildbbs
</div>
 <li class="bbs">
*/