让URL只允许一些字符的正则表达式
程序员文章站
2023-01-29 19:51:02
譬如 限制只允许正则出现以下的 a-z 0-9 http:// 匹配连贯 https:// 匹配连贯 / 不可连续两个出现 & % ? 不可连续两个出现 = 等号 - 中划...
譬如 限制只允许正则出现以下的
a-z
0-9
http:// 匹配连贯
https:// 匹配连贯
/ 不可连续两个出现
&
%
? 不可连续两个出现
= 等号
- 中划线
_ 下划线
. 点 很重要
有如下正则符合
^((?:http|https)://)?((?![/?]{2,})[a-za-z0-9\-._%&=/?])+$
regexbuddy3 翻译工具
^((?:http|https)://)?((?![/?]{2,})[a-za-z0-9\-._%&=/?])+$
•断言在字符串的开头位置
•逆向引用1
◦重复0次到1次,尽可能多的匹配(贪婪)
◦用以下正则表达式匹配
■用以下正则表达式匹配(这一个正则表达式失败时用下一个正则表达式的替代)
■匹配字符“http”
■用以下正则表达式匹配(这一个正则表达式匹配失败,这一集合都不匹配)
■匹配字符“https”
◦匹配字符“://”
•逆向引用2
◦重复1次到无限次,尽可能多的匹配(贪婪)
◦注:你又逆向引用本身。匹配将以最后一个逆向引用做为引用。把重复的逆向引用迭代。
◦否定式向前查看
■匹配一个在下面的列表出现的字符“/?”
■between 2 and unlimited times, as many times as possible, giving back as needed (greedy)
◦匹配一个在下面的列表出现的字符
■一个字符 其范围是a到z之间
■一个字符 其范围是a到z之间
■一个字符 其范围是0到9之间
■字符 “-”
■一个字符 是“._%&=/?”其中的一个
•断言在字符串的末端位置
a-z
0-9
http:// 匹配连贯
https:// 匹配连贯
/ 不可连续两个出现
&
%
? 不可连续两个出现
= 等号
- 中划线
_ 下划线
. 点 很重要
有如下正则符合
^((?:http|https)://)?((?![/?]{2,})[a-za-z0-9\-._%&=/?])+$
regexbuddy3 翻译工具
^((?:http|https)://)?((?![/?]{2,})[a-za-z0-9\-._%&=/?])+$
•断言在字符串的开头位置
•逆向引用1
◦重复0次到1次,尽可能多的匹配(贪婪)
◦用以下正则表达式匹配
■用以下正则表达式匹配(这一个正则表达式失败时用下一个正则表达式的替代)
■匹配字符“http”
■用以下正则表达式匹配(这一个正则表达式匹配失败,这一集合都不匹配)
■匹配字符“https”
◦匹配字符“://”
•逆向引用2
◦重复1次到无限次,尽可能多的匹配(贪婪)
◦注:你又逆向引用本身。匹配将以最后一个逆向引用做为引用。把重复的逆向引用迭代。
◦否定式向前查看
■匹配一个在下面的列表出现的字符“/?”
■between 2 and unlimited times, as many times as possible, giving back as needed (greedy)
◦匹配一个在下面的列表出现的字符
■一个字符 其范围是a到z之间
■一个字符 其范围是a到z之间
■一个字符 其范围是0到9之间
■字符 “-”
■一个字符 是“._%&=/?”其中的一个
•断言在字符串的末端位置
推荐阅读