Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 用户名密码正则表达式_Ruby_Regex_Passwords - Fatal编程技术网

Ruby 用户名密码正则表达式

Ruby 用户名密码正则表达式,ruby,regex,passwords,Ruby,Regex,Passwords,我正在尝试创建一个正则表达式来匹配文件上的用户名-密码对,这些文件至少有1个大写字母、1个小写字母、1个数字和1个符号。我正在使用以下正则表达式: \b(([a-zA-Z0-9]){5,20}((\\\\=)|( ?([=:]|(->)) ?)|( =\\))((?=.[a-z#{@specialDown}])(?=.*[A-Z#{@specialUp}])(?=.+[0-9])(?=.+[\!\@\#\$\%\^\&\*\(\)\_\+\|\~\-\=\\`\{\}\[\]\:\

我正在尝试创建一个正则表达式来匹配文件上的用户名-密码对,这些文件至少有1个大写字母、1个小写字母、1个数字和1个符号。我正在使用以下正则表达式:

\b(([a-zA-Z0-9]){5,20}((\\\\=)|( ?([=:]|(->)) ?)|( =\\))((?=.[a-z#{@specialDown}])(?=.*[A-Z#{@specialUp}])(?=.+[0-9])(?=.+[\!\@\#\$\%\^\&\*\(\)\_\+\|\~\-\=\\`\{\}\[\]\:\;\'\<\>\?\,\.\/])).{8,20})\b
(10)以下::(([[a-a-zA-zA-zA-Z0-Z0-Z0-5-9-9)目前,[b(([a-a-a-a-a-a-a-a-a-a-a-zA-zA-Z0-Z0-Z0-Z0-9-5-5-9)可能会(5.5.5)及(5.5.5)目前目前目前目前,,(((([b([b-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-z-z-z-z-z-z-z-z-z-z-z-z-z-z-Z0-{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
(10)以下::(([[a-a-zA-zA-zA-Z0-Z0-zA-Z0-5-9-9)码><码码>>\b(([a-a-a-a-a-a-a-zA-zA-Z0-Z0-Z0-Z0-5-5-5-9)可能会(5.5.5.20)两个(5,20)目前目前(((((((((()))上述上述上述上述上述上述两两两个((((((()))))))))两两两个((((((((([[[[[[a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-;\'\?\,\[^\s]\/])[^\s]{8,20}\b
你真的在文本文件中存储用户名和清晰的密码吗?
^(?=.[a-Z])(?=.[a-Z])(?=..*\d)(?=.*\W)。{8,20}$
不,显然不是,它是用于项目的。我必须找到不应该被清除的密码。是的,替换密码。由[^\s]计算出。事实上,感谢一个洗剂的这种实际情况是这样的:<代码>\b([a-a-zA-zA-zA-Z0-Z0-9-9-a-a-a-a-a-a-a-a-a-a-a-a-zA-zA-Z0-Z0-Z0-9-9-9)5.20}\b(((\\\\\\\=:::::::)((((((((((=::::::::::::::::)))谢谢谢谢谢谢谢谢一一个洗洗洗洗洗洗洗洗洗一一个一个谢谢一个谢谢一个洗洗洗洗洗洗一个谢谢一家的一个谢谢一个洗洗洗洗一个)的实际的这这这一个谢谢一个事实实实实实实实实实实实实实情:::::::::::::::::::\\`\\\[\]\:\;\'\?\,\.\/]\b)[^\s]{8,20}您已经替换了\。我还有一个问题。在改变了表达方式之后,我仍然有一些问题没有解决。现在的方式是:<代码><代码><代码><代码><代码>>目前的方式是::<代码><代码><代码><代码><代码>>目前目前的方式是::<代码><代码><代码><代码><代码>>\b([a-a-zA-zA-zA-zA-Z0-9)5,5,5,20}(((\\\\::::::::::::::::::((((((((((==:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::8,20}问题是,即使前面有字符,它也会匹配字符串,如下所示:
username=Password1()!“#$=)/(HGGHCU=UA=SU“=)ERU#TUJ)=WJE(U”WYHRF(“W
其中匹配项为:
用户名=Password1()!”#$=)/)
(如何避免与此匹配?请检查?我找不到匹配:。我删除了多字节字符无效的问题,并在
中删除了
/`而不是
/`中的问题。哦,对不起,从中删除
。我正在尝试制作一个带有注释的框,就像它是向上的一样,但我是堆栈溢出的新手,我不知道如何在注释中创建它。下面是正则表达式是:\b([a-zA-Z0-9]){5,20}((\\\\=)(?([=:])(>)(=\)(=)(?=)(?=[\S]+[a-z])(?=[\S]+[a-z])(?=[\S]+[0-9])(?=[\S]+[\!\\\\\\\\\\\\\\\\\\\\\\$%\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_\+\‌​|\~\-\=\`\{\}[]\:\;\'\?\,\.\/])[\S]{8,20}