2013-10-22 48 views
0

我想創建一個正則表達式來查找一行內的域名。VBScript正則表達式來查找一行字符串的域名

目前,我試過這個,但沒有工作。

Set objDomainEx = CreateObject("VBScript.RegExp") 
objDomainEx.Global = True 
objDomainEx.Pattern = "((?:[A-Z0-9-]+\.)+[A-Z]{2,4})$" 
Set matches = objDomainEx.Execute(strSearchString) 
If matches.Count > 0 Then 
    For Each strMatch in matches  
     Wscript.Echo strMatch.Value 
    Next 
End If 

這是什麼錯誤。我的域名看起來像[www。] aaaaa.sssss.vvvvv.domain或類似的東西

回答

1

您的角色類不包含小寫字母。你也應該包括[a-z]

((?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4})$ 

或者,你可以讓你的正則表達式對象不區分大小寫的

objDomainEx.IgnoreCase = True 
0
objDomainEx.Pattern = "((?:[A-Z0-9-]+\.)+[A-Z]{2,4})$" 

我的域名看起來像[WWW] aaaaa.sssss.vvvvv.domain

所以這裏的問題是:

  1. 你的正則表達式似乎只能匹配大寫字母。

  2. 你的正則表達式假定域的最後部分只能長達4個字符。 (有比這更長的後綴的域)。

相關問題