网站URL的正则表达式 - 没有HTTP(s)

时间:2015-06-08 19:18:29

标签: regex

我试图让正则表达式在接受以下网址的地方工作:

www.somesite.com
somesite.com
www.somesite.ca
somesite.ca
somesite.cu.sk.ca
www.somsite.cu.sk.ca
somesite.sk.ca
www.somesite.sk.ca

到目前为止,我有以下内容,但它允许www.somesite

 ^(www\.)?[a-zA-Z0-9_\-]+\.([a-zA-Z]{2,4}|[a-zA-Z]{2}.[a-zA-Z]{2})(.[a-zA-z]{2})?$

查询字符串,http,https,ftp在这里不起作用。谢谢!

1 个答案:

答案 0 :(得分:2)

您忘记在最后一个模式.中逃离(.[a-zA-z]{2})(该点将匹配任何字符):

^(www\.)?[\w-]+\.([a-zA-Z]{2,4}|[a-zA-Z]{2}.[a-zA-Z]{2})(\.[a-zA-z]{2})?$
                                                         ↑

请参阅DEMO

此外,我将[a-zA-Z0-9_\-]替换为等效的[\w-]