我试图让正则表达式在接受以下网址的地方工作:
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在这里不起作用。谢谢!
答案 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-]