VB用正则表达式提取网页中的链接

VBScript code
Function getUrl(MatchStr As String) As String Dim myReg As RegExp Dim Matches As MatchCollection Dim myMatch As Match Dim strtmp As String Dim strimg As String Set myReg = New RegExp With myReg .IgnoreCase = True .Global = True .Pattern = "http://.+?\s" '取出里面的地址 Set Matches = .Execute(MatchStr) End With For Each myMatch In Matches If Right(myMatch.Value, 2) = """ " Then strtmp = strtmp & Left(myMatch.Value, Len(myMatch.Value) - 2) & vbCrLf Else strtmp = strtmp & Left(myMatch.Value, Len(myMatch.Value) - 1) & vbCrLf End If Next getUrl = strtmp End Function
VBScript code
Sub GetURL(ByVal s As String) Dim re As RegExp Dim mh As Match Dim mhs As MatchCollection Set re = New RegExp re.Global = True re.Pattern = "href= ""(http(s)?://[\s\S]+?)""" If re.Test(s) = False Then Exit Sub Set mhs = re.Execute(s) For Each mh In mhs Debug.Print mh.SubMatches(0) Next End Sub


用正则的方法就是这样,正则的Pattern写法我也初学,如何写更加精确,可以上网搜索。
上面的代码根据你的示例可以测试通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值