首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串行中查找域名的VBScript正则表达式

从字符串行中查找域名的VBScript正则表达式
EN

Stack Overflow用户
提问于 2013-10-22 12:52:52
回答 2查看 415关注 0票数 0

我正在尝试创建一个正则表达式,以便在一行中找到域名。

目前,我试过这个,但不起作用。

代码语言:javascript
复制
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之类的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-22 12:56:07

您的角色类不包括小写字母。您还应该包括[a-z]

代码语言:javascript
复制
((?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4})$

或者,您可以将Regex对象的大小写不区分为

代码语言:javascript
复制
objDomainEx.IgnoreCase = True
票数 1
EN

Stack Overflow用户

发布于 2013-10-22 12:57:04

代码语言:javascript
复制
objDomainEx.Pattern = "((?:[A-Z0-9-]+\.)+[A-Z]{2,4})$"

我的域名看起来像www.aaaaa.sssss.vvvvv.domain

所以这里的问题是:

  1. 您的regex似乎只匹配大写字母。
  2. 您的regex假设域的最后部分只有4个字符长。(有些域的后缀比这个长)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19518436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档