字母、特殊字符和数字组合的正则表达式

regexp for combination of letters,special characters and numbers

我需要以下一组行

  1. 3 个字母的行
  2. 具有特殊字符的行
  3. 包含数字和特殊字符、字母组合的行

从下面记录..

OJH,
WV],
2V,
W.W,
V,
@A,
AL,
AS,
1234,
1,
23

我需要 select OJH,WV],2V,W.W,V,@A 等。

即字母与特殊字符的组合、字母与数字的组合以及大于3的字母或数字的组合

我需要跳过 AL、AS、1234、1、23 等。

如果我理解正确的话,应该这样做:

^(?=.*[A-Z])(?=.*\d).*$|^(?=.*[@\].])(?=.*\d).*$|^(?=.*[@\].])(?=.*[A-Z]).*$

使用积极的前瞻性检查包含

的行
  • 字母和数字
  • 特殊字符和数字(在本例中 @]. 算作特殊字符)
  • 特殊字符和字母

Check this example at regex101.

这假设组合被一一测试 - 没有逗号。

此致。

编辑

错过了错误的字母数选项。应该这样做:

^(?=.*[A-Z])(?=.*\d).*$|^(?=.*[@\].])(?=.*\d).*$|^(?=.*[@\].])(?=.*[A-Z]).*$|^[A-Z]$|^[A-Z]{3,}$

See it here.