我需要一个具有以下条件的url验证器regex:
因此,根据这些标准,这些标准应该通过:
这些建议不应通过:
我发现最近的正则表达式是来自这里的
^((?:.|\n)*?)((http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)([-A-Z0-9.]+)(/[-A-Z0-9+&@#/%=~_|!:,.;]*)?(\?[A-Z0-9+&@#/%=~_|!:,.;]*)?)但不幸的是,google.com没有通过。它需要以www.作为前缀。您能改进这个正则表达式使www.成为可选的吗?
发布于 2022-02-08 15:25:39
下面的模式似乎与您的标准相匹配:
^(?:https?:\/\/(?:www\.)?|https:(?:\/\/)?)?\w+(?:[-.]\w+)+(?:\/[^\/\s]+)*$见regex演示。详细信息
^ -字符串的开始(?:https?:\/\/(?:www\.)?|https:(?:\/\/)?)? -一个可选的序列:https?:\/\/(?:www\.)? - http或https,://,然后是可选的www.子字符串。| -或https:(?:\/\/)? - https:,然后是可选的//字符串。\w+ -一个或多个单词字符(?:[-.]\w+)+- .或-的一个或多个序列后面跟着一个或多个单词字符(?:\/[^\/\s]+)* -一个可选的/序列,然后是一个或多个字符,而不是/和空格。$ -字符串的末端。https://stackoverflow.com/questions/71035383
复制相似问题