0

假设有两个词,例如:googleweb.us 和 google.us

这是我在单个正则表达式中匹配这些的一种方法,但它看起来很难看。

/(google|espn|foxtel)\w*[web\.\w+|\.\w+]/

我只想在“网络”存在与否时涵盖这两种情况。如何改进模式?

4

2 回答 2

2

这将允许“web”对于谷歌来说是可选的:

/(google(web)?|espn|foxtel)\.\w+/

这将允许“web”对于任何域都是可选的:

/(google|espn|foxtel)(web)?\.\w+/
于 2012-10-23T00:16:39.977 回答
1

你需要修改你的“角色类”。方括号中的材料被视为字符类,而不是您的想法。

googleweb.us与您在单词(' ' 和 ' ')中询问的内容相匹配的正则表达式google.us是:

/^(google)(web)?\.us$/

当您定义了您希望它匹配的其他内容时,人们可以改进正则表达式。

于 2012-10-23T00:16:50.287 回答