4

我目前正在构建一个接受 URL 和主机名的正则表达式。

所以应该接受以下内容:

google
google.com
www.google.com
http://google.com
http://www.google.com

然而,不应该接受的是:

<xml> <html>

到目前为止我得到的表达是:

([a-zA-Z0-9])|((http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ;,./?%&=]*)?)

然而这部分表达式:([a-zA-Z0-9])
匹配<xml><html>

有人对我在这里缺少什么有任何建议吗?

4

1 回答 1

5

您需要在表达式中添加开始 ( ^) 和结束 ( $) 锚点,以确保只允许您指定的模式:

^([a-zA-Z0-9]+)|((https?://)?([\w-]+\.)+[\w-]+(/[-\w ;,./?%&=]*)?)$
于 2013-07-15T15:59:38.173 回答