我无法弄清楚如何将5个字符放入a-z
,A-Z
,0-9
,并且可以包含$
和@
和正则表达式。这就是我所拥有的
$char_regex = '/^[a-zA-Z0-9@\$]{5}$/';
它一直显示错误。
答案 0 :(得分:1)
使用正向前瞻:
$char_regex = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9@\$]{5}$/';
解释
^ # from start
(?=.*[a-z]) # means should exist one [a-z] character in some place
(?=.*[A-Z]) # same to upper case letters
(?=.*[0-9]) # same to digits
[a-zA-Z0-9@\$]{5}$ # your current regex
希望它有所帮助。