![](/img/trans.png)
[英]why regular expression .*? only match an empty string in javascript?
[英]Javascript : Empty String Match In Regular Expression
我想在正则表达式的帮助下,将带有匹配http/https
和(www)
或不带有(www)
的URL进行匹配。 以下是我的正式表达
^((https?)://)(www\\.)| ^$ +(\.[a-z0-9-]+)+([/?].*)?$
但是在这种情况下,例如,空字符串不起作用:当我输入http://www.google.com
是有效的URL,而http://google.com
无效时。 谢谢你提前回答。
您无法使用^$
搜索不存在的零件。 期望一个字符串(行)的开始,字符串(行)的结束。
只需将“ www”部分设为可选:
^((https?)://)(www\\.)?(\.[a-z0-9-]+)+([/?].*)?$
另一个问题是,您正在连续搜索两个点:
^((https?)://)(www\\.)?(\.[a-z0-9-]+)+([/?].*)?$
^ ^
我认为更好的模式是
^((https?)://)(www\\.)?([a-z0-9-]+)(\.[a-z0-9-]+)*([/?].*)?$
您是否知道,仅允许使用字符[a-z0-9-]
来排除大量有效的URL?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.