元字符:
元字符 | 描述 |
---|---|
\d | 匹配一个数字 |
\D | 匹配一个非数字的字符 |
\s | 匹配空白字符 |
\S | 匹配非空白字符 |
\b | 匹配单词边界 |
\B | 匹配非单词边界 |
\w | 匹配字母、数字、下划线 |
\W | 匹配非字母、数字、下划线 |
^ | 匹配字符串开始位置 |
$ | 匹配字符串结束位置 |
+ | 匹配前面的子表达式一次或多次 |
* | 匹配前面的子表达式0次或多次 |
\uxxxx | 查找以十六进制数xxxx规定的Unicode字符 |
贪婪匹配与懒惰匹配:
贪婪匹配:见名思义,匹配尽可能多的字符。比如这个表达式:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab,这被称为贪婪匹配。
懒惰匹配:见名思义,也就是匹配尽可能少的字符。在能使整个匹配成功的前提下使用最少的重复,只要在它后面加上一个问号?即可。
应用:手机号验证正则写法:规则:1开头,第二位是2-9,共11位。
/^1[2-9]\d{9}$/