我想验证所有类型的url,但很少有条件不能与以下正则表达式一起使用:
^((https?|ftp|smtp|http):\/\/)?(www.)?[a-z0-9]+\.[a-z]+(\/[a-zA-Z0-9#]+\/?)*\.(com|in)$
它不起作用
答案 0 :(得分:0)
如果您查看正则表达式,您会在网址中看到两个点(我添加了空格来标识它们):
^((https?|ftp|smtp|http):\/\/)?(www.)?[a-z0-9]+ \. [a-z]+(\/[a-zA-Z0-9#]+\/?)* \. (com|in)$
我建议您使用https://regex101.com/检查您的正则表达式。
但是,就像George所说的那样,您可以使用commons regex来实现此目的,而不用创建一个新的表达式。
顺便说一下,https?
正在捕获https
和http
,因此(https?|...|http)
= (https?|...)