关于正则表达式的问题

Mik*_*gin 2 javascript regex

我正在学习/练习正则表达式.我写这个是为了测试url的...我希望它能以这些格式捕获url:

www.site.com
www.site.co.uk etc
site.com
play.site.com
Run Code Online (Sandbox Code Playgroud)

所以我写了这个:

(http:\/\/)*(www)*\.*(\w{2,})(\.{1})(\w{2,3})(\.*)(\w{2,3})*
Run Code Online (Sandbox Code Playgroud)

(匹配http:// 0次或更多次,然后是一些0次或更多次字符,后跟一个域名,后跟一个句点,后跟一些更多字符(至少2,最多3),然后是可选期间和一些更多的字符(对于co.uk等).)

我对正则表达式很新,所以不确定我所做的事情是否有问题,但它似乎在测试中运行良好:http://regexpal.com/.随意撕开它!

我注意到的一件事是,它确实与我不想要的.site.com匹配.我如何只匹配site.com并仍然允许http://和www和子域名?

Pau*_*ier 6

放在 "." 在"www"比赛中; 这将解决您的网址中可能具有前导点匹配的问题.