\A(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{6,}\z
(这来自JGSoft正则表达式的味道)。任何人都可以请解释这个密码复杂性正则表达式给我?
基本上,这个正则表达式的目的是这样的:“密码复杂 测试是否输入由6个或更多字符 输入必须包含至少一个大写字母,一个小写字母和一个数字。”。
因此,可以按任意顺序放置三个组(第一个大写字母,然后是非首字母,然后是数字)。 \ A匹配字符串的开头,\ z匹配字符串的结尾。我对(?=部分)感到困惑,它应该是一个积极的向前看,我不明白这个正则表达式是如何让你按任意顺序输入密码字符的,