asp正则表达式,如何过滤掉除某个网址之外的所有超链接

asp正则表达式,如何过滤掉除某个网址之外的所有超链接,如:
<a href= '
http://www.abc.com/
'> abc.com </a><br /><a href= '
http://www.edf.com/
'> edf.com </a>

过滤后,变为abc.com <br /><a href= '
http://www.edf.com/
'> edf.com </a>
没人知道怎么做么,我就是要保留edf.com的超级链接,过滤掉其他的所有网址的超级链接。

Function autoLink(str)
Set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = "<a[^>]+>(.+?)<\/a>"
autoLink = ra.replace(str,"$1")
END Function

这样子,会过滤掉所有的链接的。
最新回答
海不曾怀疑天的蓝

2024-04-15 00:03:15

这样的正则不是写不出来,但实际上我们不需要这么高级的正则

有个变通的方法,

把所有的 edf.com 替换成 edf.com|

再把你的正则改成

<a[^>]+>([^|]+?)<\/a>

替换完成后再把 edf.com| 替换回来变成 edf.com

这样就达到目的了.
猫儿少女

2024-04-15 00:05:39

Function autoLink(str)
Set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = "<a[^>]+(href=)('|")?(
http://www.edf.com
).*?>.*?<\/a>"
autoLink = ra.replace(str,"$1")
END Function

测试可用,不过本人对正则的学习还需要加油,写得太初级了
看不见的坚强

2024-04-15 00:02:10

Function autoLink(str)
Set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = "<a\s+href\s*=\s*['"](?!Http:\/\/www\.edf\.com\/)['"].*?>(.+?)<\/a>"
autoLink = ra.replace(str,"$1")
END Function
海心

2024-04-15 00:08:07

参考答案: 自拈裙带结同心,暖处偏知香气深。
秋雨绵绵

2024-04-15 00:08:00

否定环视,搜索吧。