[英]vbscript regular expression into an array
在下面的代碼中,我試圖將使用正則表達式提取的每個URL提取到一個數組中,以后可以與URL計數一起調用。 不知道如何抓住所有人。
Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP")
Call objxmlHTTP.open("GET", "website", False)
objxmlHTTP.Send()
strHTML = objxmlHTTP.ResponseText
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<a\s+href=""(http://.*?)""[^>]+>(\s*\n|.+?\s*)</a>"
Dim objMatch
For Each objMatch in objRegExp.Execute(strHTML)
objMatch.SubMatches(0)
Next
Set objxmlHTTP = Nothing
我用一個假字符串測試了此結果,您的正則表達式結果似乎有些奇怪,因此我進行了更改(從此處獲取 )。 第一場比賽的結果(您捕獲了2個?)被放置在matchs數組中:
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = ""((https?:\/\/|www.)([-\w.]+)+(:\d+)?(\/([\w\/_.]*(\?\S+)?)?)?)""
dim matches()
dim i: i = 0
Dim objMatch
For Each objMatch in objRegExp.Execute(strHTML)
redim preserve matches(i)
matches(i) = objMatch.SubMatches(0)
i = (i + 1)
Next
Set objxmlHTTP = Nothing
'//read back
for i = 0 to ubound(matches)
wscript.echo matches(i)
next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.