测试正则表达式
/(?!^(\ d + | [a-zA-Z] + | [〜!@#$%^&*?] +)$)^ [\ w〜! @#$%^&*?] {7,20} $ /
此正则表达式规定它必须包含字母数字特殊字符的任意两个组合. 该表达式可以在Internet上找到,可以在测试后使用,但它不理解其含义. !
同一个问题0 ||集合0 |
7个答案
按喜欢排序
闷气
2017.09.15 08:48
\d+ 数字
a-zA-Z 字母
~!@#$%^&*? 符号
这里是数字、字母或者符号
?! 零宽度断言,匹配但是不占用宽度
这样就匹配了第一种字符
[\w~!@#$%^&*?]{7,20}
这是匹配第二种,并且7~20长度
|
寻求真相072017.09.15 08:53
建议在脚本外壳中查看这些内容并更好地理解它们
|
Abean_Y2017.09.15 09:03
\ d: 匹配数字字符;
\ d +: 一次或多次匹配数字字符
|: 或等于Or
[a-zA-Z] +: 一次或多次匹配字母
[〜! @#$ %% ^&*?] +: 一次或多次匹配特殊字符
(?! ^(\ d + | [a-zA-Z] + | [〜!@#$%^&*?] +)$): 匹配第一个
\ w: 匹配任何单词字符,包括下划线. 类似于但不等同于“ [A-Za-z0-9 _]”
〜! @#$ %% ^&*?: 匹配特殊字符
{7,20}: 至少匹配7次,最多匹配20次
^ [\ w〜! @#$%^&*?] {7,20} $: 匹配第二种
慢慢看
%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F / 1700215吗? fr =阿拉丁
|
泥下花2017.09.15 09:28
%24)%5E%5B%5Cw〜!%40%23%24%25%5E%26 *%3F%5D%7B7%2C20%7D%24%2F“”)
|
花下木2017.09.15 09:29
让我们先看一下简单的内容,然后再看一看,以图形方式进行跟踪会更直观
|
haoyuan20122017.09.15 11:06
我以前可能不太清楚,我了解正则符号,并且阅读了正则表达式必须知道的书,但是结合使用时并不清楚. 我以这种方式进行了分析,首先将表达式分解为两部分,第一部分: (?!^(\ D + | [a-zA-Z] + | [〜!@#$%^&*?] + )
第二部分: ^ [\ w〜! @#$%^&*?] {7,20} $
我尝试了第一部分,可以输入字母,数字和特殊字符中的任何一个.
第二部分: 也可以输入任何特殊的字母数字字符,但是长度是必需的.
但是,这两个部分的组合必须至少具有两个任意的字母数字特殊字符组合. 如果仅输入一种类型,将报告错误. 我不明白这个表情是怎么做的?
请仔细分解并指导老师!
|
我不喜欢这个世界2017.09.15 12:12
让我举个例子,例如密码段9Asb123456.
您将9与第一部分匹配
第二部分匹配9Asb123456(即全部)
为什么会这样?
原因是这样的:
首先,您需要匹配至少两种不同的字符类型.
也就是说,在您的第一部分中匹配的9代表第一个字符编号,
这时密码规则 正则表达式密码规则 正则表达式,它证明您的字符串9后跟其他字符
这意味着我签出了数字9,我可以确认密码部分包含两种类型,
(无论9后有多少种类型,目前至少是两种类型)
这时,结合比赛的第二部分,检查位数是否足够,检查9之后是否存在非法字符类型,例如空格
您可以证明9Asb123456是合格的
另一个问题?
如果我将密码段更改为123456789
您的第一部分与整数类型匹配123456789,第一部分通过
第二部分的匹配结果也为123456789,此时满足位数,不满足类型
因此,您必须做出判断. 匹配结果的第一部分的长度不能与匹配结果的第二部分的长度相同.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-222336-1.html
请注意是进入人造岛礁
10万放余额宝里一年在3000左右利息