正则匹配
1.开始结束
^ :表示开始
$ :表示结束
^a$
a 匹配 ab 不匹配
2.限定符匹配
?:匹配前表达式 0次或 1次
^ab?$ a 匹配 ab 匹配 abb 不匹配
+:匹配前表达式 1次或者多次
^ab+$
a 不匹配
ab 匹配
abb 匹配
*:匹配前表达式 0次或多次
^ab*$ a 匹配 ab 匹配 abb 匹配
{n} : 精确匹配前表达式 n 次
^ab{3}$ ab 不匹配 abbb 匹配
{n,}:至少匹配前表达式 n 次
^ab{3,}$
abb 不匹配
abbb 匹配
abbbb 匹配
{n,m} : 至少匹配 n 次,最多匹配 m 次
^ab{1,2}$
ab 匹配
abb 匹配
a 不匹配
3.字符匹配
[xxx] :匹配任意一个字符
^ab[cd]$ abc 匹配 abd 匹配 abcd 不匹配 ab 不匹配
[^xxx] :匹配任意不包含任何一个字符
^ab[^cd]$ ab 不匹配 abc 不匹配 abcd 不匹配 abt 匹配
[a-z]:范围匹配
^[a-zA-Z0-9]*
匹配任意 a-z A-Z 0-9 的任意多个字符
常用正则
1. 数组与字母组合 6-24位
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,24}$
2.国内手机号
^1([3578][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$