我第一次在这里发帖,所以如果我做错了,我会道歉。 我已经尝试在现有主题中寻找答案了,但我找不到能为我的案例100%工作的东西。
我基本上需要构建一个符合以下要求的python RegEx:
最小长度应为10个字符,最大长度应为20个。
在以下示例中:
我希望在两个示例中匹配“密码!123”,但在第二个示例中,匹配应停止广告“3”,“测试”(或其中的一部分)不应包含在匹配中。
到目前为止,我构建了以下内容:
\b(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[!"£$%^&]).{10,20}
但是,根据regexr.com,如果我测试以下内容: 密码!123测试测试
然后我得到了这场比赛
密码!123测试测试
虽然我想有以下
密码!123 测试测试
关于如何解决这个问题的任何想法?
提前感谢任何有帮助的人!!!
KR
阿德
答案 0 :(得分:1)
这个正则表达式似乎有效:
(?=\S{10,})(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[0-9])(?=\S*[!£$%^&\"])(?<!\S)\S{10,20}(?=\s|\Z)
可以找到here
的测试