用户名密码正则表达式
Username Password Regular Expression
我正在尝试创建一个正则表达式来匹配文件上的用户名密码对,这些文件至少有 1 个大写字母、1 个小写字母、1 个数字和 1 个符号。我正在使用以下正则表达式:
\b(([a-zA-Z0-9]){5,20}((\\=)|( ?([=:]|(->)) ?)|( =\))((?=.[a-z#{@specialDown}])(?=.*[A-Z#{@specialUp}])(?=.+[0-9])(?=.+[\!\@\#$\%\^\&\*\(\)\_\+\|\~\-\=\`\{\}\[\]\:\;\'\<\>\?\,\.\/])).{8,20})\b
specialDown和specialUp变量分别是小写和大写的特殊字母。
这里的问题是我得到的密码带有空格,这是我不想要的。
有人能帮忙吗?
您可以将正则表达式中的所有 .
替换为 [^\s]
或 \S
以排除匹配的空格。此外,您有几个 ?
模式,它们也允许有空格。请检查是否需要。
因此,固定模式将如下所示:
\b(([a-zA-Z0-9]){5,20}((\\=)|( ?([=:]|(->)) ?)|( =\))((?=[^\s][a-z#{@specialDown}])(?=[^\s]*[A-Z#{@specialUp}])(?=[^\s]+[0-9])(?=[^\s]+[\!\@\#$\%\^\&\*\(\)\_\+\|\~\-\=\`\{\}\[\]\:\;\'\<\>\?\,\[^\s]\/]))[^\s]{8,20})\b
我正在尝试创建一个正则表达式来匹配文件上的用户名密码对,这些文件至少有 1 个大写字母、1 个小写字母、1 个数字和 1 个符号。我正在使用以下正则表达式:
\b(([a-zA-Z0-9]){5,20}((\\=)|( ?([=:]|(->)) ?)|( =\))((?=.[a-z#{@specialDown}])(?=.*[A-Z#{@specialUp}])(?=.+[0-9])(?=.+[\!\@\#$\%\^\&\*\(\)\_\+\|\~\-\=\`\{\}\[\]\:\;\'\<\>\?\,\.\/])).{8,20})\b
specialDown和specialUp变量分别是小写和大写的特殊字母。
这里的问题是我得到的密码带有空格,这是我不想要的。
有人能帮忙吗?
您可以将正则表达式中的所有 .
替换为 [^\s]
或 \S
以排除匹配的空格。此外,您有几个 ?
模式,它们也允许有空格。请检查是否需要。
因此,固定模式将如下所示:
\b(([a-zA-Z0-9]){5,20}((\\=)|( ?([=:]|(->)) ?)|( =\))((?=[^\s][a-z#{@specialDown}])(?=[^\s]*[A-Z#{@specialUp}])(?=[^\s]+[0-9])(?=[^\s]+[\!\@\#$\%\^\&\*\(\)\_\+\|\~\-\=\`\{\}\[\]\:\;\'\<\>\?\,\[^\s]\/]))[^\s]{8,20})\b