匹配“www”或空的正则表达式

12

我有以下网址:

www.localhost.com
localhost.com
test.localhost.com

我该如何在正则表达式中匹配"www"或空字符串?


2
你只是想测试URL是否以www开头吗? - Leo
1
任何字符串要么以www开头,要么不以www开头,这不是一个正确的陈述吗? - Greg Hewgill
4个回答

29
(?:www)?

应该匹配www或为空。


2
"www" 前面的 "?: " 是什么意思? - stiank81
3
(abc)是捕获组,而(?:abc)是非捕获组。请参见http://www.regular-expressions.info/brackets.html。 - kennytm
需要注意的是,它仍然不能匹配localhost.com,你还需要忽略后面的点。 - William
这将匹配字符串中的任何位置的www,例如examplewww.com。 - BlueRaja - Danny Pflughoeft
1
我不得不重写我的代码,以包含“.”,因为非www网址没有任何前导点:^(?:www\.)? - atwixtor

0

如果我理解您的问题正确,您需要使用前瞻,就像这样:

/^www(?=\.localhost.com)/

如果且仅如果后面跟着 .localhost.com,那么这将匹配 www

如果这不是您要做的事情,请澄清。


这不会匹配任何内容,因为你不能在字符串末尾匹配.localhost.com - Gumbo

0

/^www/ 允许您检查主题是否以www开头。


-2

www.+? 它匹配所有以www为前缀的字符串


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接