我正在尝试从字符串中获取域名。来自此网址http://www.tvstore.nl/product/572875/samsung-ue48ju7500.html
我希望得到www.tvstore.nl
。但是,通过此功能,我得到www.tvstore
。我错过了什么?我希望这适用于任何TLD,无论是.com,.org,.de,.co等。
Protected Function ExtractDomainFromURL(ByVal sURL As String) As String
Dim rg As New Regex("://(?<host>([a-z\d][-a-z\d]*[a-z\d]\.)*[a-z][-a-z\d]+[a-z])")
If rg.IsMatch(sURL) Then
Return rg.Match(sURL).Result("${host}")
Else
Return String.Empty
End If
End Function
答案 0 :(得分:1)
:\/\/(?<host>([a-z\d][-a-z\d]*[a-z\d]\.)*[a-z][-a-z\d]*[a-z])
^^
只需将量词从+
更改为*
。正如您使用+
一样,它预计会有3
个字母,而您只有2
即nl
。见演示。