如何构建全面的 URL 正则表达式
正则表达式模式是匹配特定文本格式的强大工具。使用正则表达式模式识别 URL 需要一丝不苟,以确保准确检测。
在您的情况下,尝试检测不带“http://”前缀的 URL 时会出现困难。为了解决这个问题,这里有一个增强的正则表达式模式:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
模式细分:
协议(可选):
子域前缀(可选):
域名:
顶级域名:
路径和查询字符串(可选):
不带必需协议的替代正则表达式:
[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
此版本删除了协议匹配组件,使其适合类似“www.google.com”的网址。
以上是如何创建强大的正则表达式来检测带或不带'http://”前缀的 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!