正则表达式 过滤网址

我x,百度发不了网址我了个去,反正是所有可以访问的网址都要过滤掉。用的是C#在线等高手。!!!!... 我x,百度发不了网址 我了个去,反正是所有可以访问的网址都要过滤掉。
用的是C# 在线等高手。!!!!
展开
 我来答
大宝妈谈教育
高粉答主

2020-06-06 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:50万
展开全部

正则表达式,过滤出所有超链接除了一个url,例如:

<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的超级链接,过滤掉其他的所有网址的超级链接。

FunctionautoLink(str)

Setra=NewRegExp

ra.IgnoreCase=True

ra.Global=True

ra.Pattern = "<a[^>]+>(.+?)<\/a>"

autoLink=ra.replace(str,"$1")

ENDFunction

扩展资料:

注意事项:

正则表达式,也称为正则表达式。这是计算机科学中的一个概念。

正则表达式通常用于检索和替换符合模式(规则)的文本,许多编程语言都支持使用正则表达式进行字符串操作。

例如Perl中内置了一个强大的正则表达式引擎。正则表达式的概念最初是由诸如(sed和GREp)这样的Unix工具推广的。

正则表达式通常缩写为“regex”。单数形式是regexp、regex,复数形式是regexps、regexes和regexen。

百度网友6e1149e
推荐于2018-05-15 · TA获得超过826个赞
知道答主
回答量:130
采纳率:100%
帮助的人:59.7万
展开全部
正则表达式,如何过滤掉除某个网址之外的所有超链接,如:
<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

这样子,会过滤掉所有的链接的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gjqt_781
2011-06-20 · 超过14用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:39.2万
展开全部
匹配网址的正则表达式
([\w-]+\.)+[\w-]+.([^a-z])(/[\w-: ./?%&=]*)?|[a-zA-Z\-\.][\w-]+.([^a-z])(/[\w-: ./?%&=]*)?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kq66olbay
2011-06-15 · TA获得超过427个赞
知道答主
回答量:527
采纳率:100%
帮助的人:347万
展开全部

好了,又又一次回复,不好意思,我是新手,慢慢一点一点深入

(<TD[^>]*>)[\r\n\s]*<P[^>]*>([^>]*)</P>\s?(</TD>)

这正则表达式完全搞定了,用 $1$2$3 替换
re.Pattern = "(<TD[^>]*>)[\r\n\s]*<P[^>]*>([^>]*)</P>\s?(</TD>)"
Data = re.Replace(Data,"$1$2$3")

请先备份,以防意外。
=================================================================

又一次回复,嘿嘿,写出一个,但要有条件:要删的P标签要和</TD>同一行,并且在前面。(只能想到这个笨方法了,靠</TD>来辨别是不是在TD里)
</?P[^>]*>(?=.*</TD>)
请先备份,否则有意外,别怪我。
========================================================
不知怎的 不支持(?<=exp),有点难缠。恕小生学艺未精。
期待高手,关注中……
========================================================
处理这些固定的字符串用Replace就好了
a = "<TD width=69 rowSpan=2> <P class=MsoNormal>日期 </P> </TD> "
a = Replace(Replace(a, "<P class=MsoNormal>", ""), "</P>", "")
MsgBox a
=========如果你非要用正则表达式,也拿你没办法===========
a = "<TD width=69 rowSpan=2> <P class=MsoNormal>日期 </P> </TD>"
Set re = CreateObject("VBScript.RegExp")
re.IgnoreCase = False '是否区分大小写
re.Global = True '只匹配搜索到的第一个还是全部
re.Pattern = "</?P[^>]*>" '定义正则表达式,不管P标签里面等于什么鬼都好。
a = re.Replace(a, "") '用空字符""替换匹配到的
MsgBox a
追问
你写的啥,复制粘贴。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式