负正向查找

0 条评论
26 Dec 2011

匹配非本站链接url如何写正则(负正向查找例子)

如何用正则匹配非本站的链接呢,还是用例子说明吧,如要把非本站的链接加上nofollow,具体怎么做。代码内容内容如下。

<a href="www.yangwo.net/1.html">xxxxx</a><br />
<a href="bbs.yangwo.net/101.html">xxxxx</a><br />
<a href="pic.yangwo.net/ddd/101.html">xxxxx</a><br />
<a href="http://blog.csdn.net/xiangdove/article/details/4246240" title="">CSDN XXX</a><br />
<a href="http://www.baidu.com/s?wd=%D0%A1%D7%CA%C5%AE%BA%A2%CF%F2%C7%B0%B3%E519&rsp=3&oq=%B8%BA%CF%F2%C7%B0%20%B2%E9%D5%D2&f=1&rsv_ers=xn0&rs_src=0" title="">百度XX</a>

带yangwo.net为本站域名,找出不是本站yangwo.net域名的所有链接,匹配的正则是如下
<a\s[^<>]*?href=\"((?!.*?yangwo\.net).*?)\"[^<>]*?>
replace写法如下
<a href="$1" rel="external nofollow">
正则里着重用到了:负正向查找?! 这个元字符