如何编写匹配包含至少4个字母的字符串的正则表达式?

时间:2018-06-10 03:51:14

标签: regex

Ex:我想确保字符串必须包含A,B,C,D

  test strings:
  "ABCDF" will be true 
  "AACDF" will be false (it not contains 'B') 
  "AABCDFG" will be true (it allows duplicated words)   

感谢大家!

1 个答案:

答案 0 :(得分:0)

如果您希望正则表达式匹配单个单词,其中包含4个特定单词 字母(在一些较大的文字中),你可以使用:

(?=\w*A)(?=\w*B)(?=\w*C)(?=\w*D)\w+

它包含4个正面查找。 他们每个人分别查找ABCD, 在一些单词字符(可能是0)之后。 然后是实际的匹配部分 - 一系列单词字符。

您还应该使用g(全局)选项来匹配所有这样的字词。

另一种可能性是你要验证整个字符串(某事 像密码标准验证)。 那么正则表达式可以是:

(?=.*A)(?=.*B)(?=.*C)(?=.*D).+

不同之处在于:

  • 每个前瞻查找任意数字后的特定字符 任何字符(而不是单词字符)。
  • 匹配部分还包含任何字符(匹配整个字符串)。
  • g选项不需要。