正则表达式

正则表达式在表单验证、HTML验证、XML验证广泛应用,通常用于匹配字符串、查找字符串、替换字符串等。

下面为正则表达式的常用总结

特殊字符(元字符)

字符详细
\d

匹配数字,等价于[0-9]

\D匹配非数字,等价于[^0-9](这里的^不是定位符)
\n匹配换行符
\r匹配回车符,等价于\cM
\s匹配任意空白符
\S匹配任意非空白符
.匹配任意单字符(不包括\n)

限定符

字符详细
+

前面字符重复一次或多次

*前面字符不出现或出现一次及以上(不限制次数)
{number}前面字符只能出现number次(number为非负整数)
{number,}前面字符出现次数≥number
{n1,n2}前面字符至少出现n1次,最多出现n2次
前面字符不出现或出现一次

定位符

字符详细
\b

限定单词边界(字符与空格)

\B限定非单词边界
^限定字符的起始位置
$限定字符结束位置

常见正则表达式

匹配内容正则表达式
任意位数字

^[0-9]*$或^[0-9]d*$

确定位数数字n位数字:^d{n}$、n位以及上:^d{n,}$
英文和数字^[a-zA-Z0-9]+$
手机号码
^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|4|5|6|7|8|9])[0-9]{8}$
密码(包含大小写、数字,不含特殊字符)
^(?=.*[a-z])(?=.*[A-Z])(?=.*d){6,12}(6至12位)
QQ[1-9][0-9]{4,}