一、字符组
1、普通字符
如数字、字母、标点符号和汉字等。
2、元字符
具有特殊意义的字符
w 数字、字母或下划线(word)
d 所有数字(digit)
s 所有空白字符(包括空格、制表符、垂直制表符等)
b 单词边界
^ 匹配字符串的开头
$ 匹配字符串的结尾
[] 匹配括号里的任意一个[abcde]匹配abcde中的任意一个
- 匹配一个范围,如[a-z]匹配所有小写字母
. 匹配除换行符以外的任意字符
二、量词
(1) * 其前的原子出现0次、1次或多次
例如: /goo*gle/ 可以匹配gogle,google,gooole,goooole等(第二个o可能出现0次、1次或多次)
(2)+ 其前的原子出现1次或多次
例如:/duanko+u/ 可以匹配duankou,duankoou,duankooou等(这个o可能出现1次或多次)
(3)? 其前的原子出现0次或1次
例如:/https?/ 可以匹配http或https(这个s可能出现也可能不出现)
(4){m}其前的原子出现m次
例如:/d{11}/ 可以匹配手机号(但是这个不是太准确,因为可能出现10000000000,这是不合法的手机号)
(5){m,n}其前的原子至少出现的次数在m-n之间(包括m,n)
例如:/0d{2,3}/ 匹配座机电话的区号,因为座机的区号有两位和三位如:010(北京的区号),三位的如0571(杭州的区号)
(6){m,}其前的原子出现m次及以上
例如:/(php){1,}/ 匹配必须出现php,可能出现1次或多次