RegExp语句中的黑名单字

RegExp语句中的黑名单字,regex,passwords,Regex,Passwords,我想创建一个与标准相匹配的ReExp表达式: 允许使用所有非空白字符 最小长度为8个字符 最大长度不受限制 至少应有1个小写字母、1个大写字母和1个数字 禁止使用“通行证”和“密码”字样 如果没有最后一条规则,它将如下所示: ^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)[\S]{8,}$ 如何在此处添加黑名单中的单词?添加一个否定的前瞻性断言 ^(?!pass(?:word)?$)(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)\S{8,}$ 这

我想创建一个与标准相匹配的ReExp表达式:

  • 允许使用所有非空白字符
  • 最小长度为8个字符
  • 最大长度不受限制
  • 至少应有1个小写字母、1个大写字母和1个数字
  • 禁止使用“通行证”和“密码”字样
如果没有最后一条规则,它将如下所示:

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)[\S]{8,}$

如何在此处添加黑名单中的单词?

添加一个否定的前瞻性断言

^(?!pass(?:word)?$)(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)\S{8,}$

这是什么语言?再次谢谢你,阿维纳什。谢谢你的帮助,这几乎解决了问题。然而像“123_ABC_pass_foo”这样的东西仍然通过正则表达式。假设我想完全排除某些关键字(在字符串的任何位置)的任何可能出现。我该怎么做呢?然后传递(:word)(?=.*[A-Z])(?=.*[A-Z])(?=.*[A-Z])(?=.*\d)\S{8,}$