首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式“符号不起作用

问正则表达式“符号不起作用
EN

Stack Overflow用户
提问于 2014-05-17 07:09:17
回答 2查看 420关注 0票数 0
  • 密码不得匹配或包含姓氏。
  • 密码必须至少包含一个特殊字符。
  • 密码必须至少包含一个数字字符。
  • 密码必须至少包含2个字母字符。
  • 密码必须包含至少一个大写字母。
  • 密码不得匹配或包含用户ID。
  • 密码不能匹配或包含名字。
  • 密码不得包含以下字符:!
  • 密码不得超过25个字符。
  • 密码必须至少有8个字符长。
  • 密码必须包含至少一个小写字母。

这些符号应该包含在!"#$%&'()*+-./:;<=>?@[\]^_{x}~中。

但我试图把“这个特殊的字符,它给错误编译时间错误”。

代码语言:javascript
复制
private static final String PASSWORD_PATTERN = "((?=.*[a-z])(?=.*\\d)(?=.*[A-Z])(?=.*["@#$%!%^&*()_+=?/[],.<>|~`'-]).{8,32})";

可以一杯吗,提前谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-05-17 07:11:00

当然,不能简单地将引号放在字符串文字中,以字符串结尾。它与正则表达式无关,无论以后对字符串做什么,这都是一样的。

只需转义它:将"替换为\"

关于注释中的新问题的补充:如果将[和]放入字符类(即[和]之间),则必须将它们转义为正则表达式。当您在字符串文本中这样做时,就会产生双重转义,因为您必须转义\。还必须在字符类中转义-。

所以改变

代码语言:javascript
复制
["@#$%!%^&*+=?/[],.<>|~`'-:/<>]

至

代码语言:javascript
复制
["@#$%!%^&*+=?/\\[\\],.<>|~`'\\-:/<>]
票数 3
EN

Stack Overflow用户

发布于 2014-05-17 07:56:57

我建议您在尝试使用正则表达式时使用https://www.debuggex.com/。如果正则表达式不正确,则更容易直接告诉您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23708628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档