gpt4 book ai didi

java - 正则表达式不匹配

转载 作者:行者123 更新时间:2023-12-02 08:24:21 25 4
gpt4 key购买 nike

我正在尝试创建一个 RegExp 来匹配新密码(有效),但我只需要最后一步即可使其 100% 工作。

这是正则表达式及其含义:

((?=.*(\\d|[\\(\\)\\{\\}\\?!\\$&\\*%\\=\\+_\\-\\.]))(?=.*[a-z])(?=.*[A-Z]).{8,})

正则表达式表示:必须使用数字 OR 符号 (){}?!$&%*=+-. - 而这正是OR 运算符不起作用,因为我可以插入数字和符号-,至少一个小写字母,至少一个大写字母,最小长度为 8 个字符。

我尝试以多种方式使用 OR 运算符 |,但无法使其工作。

我错过了什么?预先非常感谢您。

注意:我在 liferay 配置文件中使用此正则表达式来设置密码策略。

最佳答案

好吧,我稍微改写了你的表达方式,这就是我的想法:

String pattern = "^(?=.*[\\d().{}?!$&*%=+_-])(?=.*[a-z])(?=.*[A-Z]).{8,}$";

这与任何字符串匹配

  • 至少一个数字特殊字符
  • 至少一个小写字母
  • 至少一个大写字母
  • 长度至少为 8 个字符

关于java - 正则表达式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11456218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com