VBScript code
用正则的方法就是这样,正则的Pattern写法我也初学,如何写更加精确,可以上网搜索。
上面的代码根据你的示例可以测试通过
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写法我也初学,如何写更加精确,可以上网搜索。
上面的代码根据你的示例可以测试通过