我在VBScript中编码。
我有以下字符串
myString = "[ "http://www.google.com/", "http://www.yahoo.com" ]
如何使用正则表达式提取网址?反正有没有读过这个JS数组?
答案 0 :(得分:2)
我会删除起始和尾随括号,然后使用split方法。我认为正则表达式并不打算这样做......
答案 1 :(得分:0)
RegEx for easy cases(not embedded“):
' Mark the correct quotes
Dim sTest : sTest = "[ ""http://www.google.com/"", ""http://www.yahoo.com"", """" ]"
WScript.Echo sTest
Dim reStringLiteral : Set reStringLiteral = New RegExp
reStringLiteral.Global = True
reStringLiteral.Pattern = """([^""]*)"""
Dim oMTS : Set oMTS = reStringLiteral.Execute(sTest)
Dim oMT
For Each oMT In oMTS
WScript.Echo oMT.Value, oMT.SubMatches(0)
Next
输出:
[ "http://www.google.com/", "http://www.yahoo.com", "" ]
"http://www.google.com/" http://www.google.com/
"http://www.yahoo.com" http://www.yahoo.com
""
Split()用于简单案例(不变“,”分隔符):
Dim sTest : sTest = "[ ""http://www.google.com/"", ""http://www.yahoo.com"", """" ]"
WScript.Echo sTest
Dim reNetto : Set reNetto = New RegExp
reNetto.Global = True
reNetto.Pattern = "^[^""]*""|""[^""]*$"
sTest = reNetto.Replace(sTest, "")
WScript.Echo sTest
Dim sUrl
For Each sUrl In Split(sTest, """, """)
WScript.Echo qq(sUrl), sUrl
Next
输出:
[ "http://www.google.com/", "http://www.yahoo.com", "" ]
http://www.google.com/", "http://www.yahoo.com", "
"http://www.google.com/" http://www.google.com/
"http://www.yahoo.com" http://www.yahoo.com
""