我希望在正则表达式的帮助下将网址与contatin http/https
和(www)
匹配或不匹配(www)
。以下是我的regualr表达
^((https?)://)(www\\.)| ^$ +(\.[a-z0-9-]+)+([/?].*)?$
但是在这里,空字符串不起作用,例如:
我输入http://www.google.com
时是有效的网址,但http://google.com
无效。
谢谢你的回答。
答案 0 :(得分:1)
您无法使用^$
搜索不存在的声部。期待字符串(行)的开头,字符串(行)的结尾。
只需将“www”部分设为可选:
^((https?)://)(www\\.)?(\.[a-z0-9-]+)+([/?].*)?$
另一个问题是,你要连续搜索两个点:
^((https?)://)(www\\.)?(\.[a-z0-9-]+)+([/?].*)?$
^ ^
我认为更好的模式将是
^((https?)://)(www\\.)?([a-z0-9-]+)(\.[a-z0-9-]+)*([/?].*)?$
您是否知道,只允许字符[a-z0-9-]
排除了大量有效的网址?