我目前正在构建一个接受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>
有人对我在这里缺少什么有任何建议吗?
解决方法
您需要在表达式中添加开始(^)和结束($)锚点,以确保只允许您指定的模式:
^([a-zA-Z0-9]+)|((https?://)?([\w-]+\.)+[\w-]+(/[-\w ;,./?%&=]*)?)$