【发布时间】:2019-04-23 03:21:21
【问题描述】:
我的正则表达式要求
- 包括 1 个大写字母
- 包括 1 个小写字母
- 包括 1 个数字
- 包括 1 个特殊字符
(/^(?=^.{8,40}$)(?=.*\d)(?=.*\W+)(?=.*[a-z])(?=.*[A-Z])(?!^.*\n).*$/)
但是,如果我输入 1234ABcd_ 验证失败,只有 _ 似乎无法识别为特殊字符。我的正则表达式有什么解决方案吗?谢谢!
【问题讨论】:
-
您的正则表达式中没有
_。也许这应该是你的攻角:-) -
这个正则表达式中没有任何部分可以检查“特殊字符”,但是您可以定义这些。有一个
\W,它检查非“单词”字符,但这与您使用的“特殊字符”概念不同。 -
下划线被认为是一个单词字符,所以它不包含在
\W中。
标签: regex