1- 纯文本可以匹配
2- . 可以匹配任意一个单个字符,如c.t,匹配cat,cot
3- \代表转义字符,若匹配.就需要\.
4- []元字符,匹配多个字符中的一个,如c[af]t,匹配cat,cft
5- 缩写,字符集合区间 [0-9] = [0123456789]
[A-Z] = 从A-Z所有大写字符
[A-F] = 从A-F所有大写字符
[A-z] = 从A-z所有ascii字符,包含.[^等
可以多个连用,如[A-Za-z0-9]
6- ^匹配特定字符以外字符,取非匹配,除了字符集合内的字符,其他的都匹配,如c[^a]t,匹配cot,不匹配cat
7- [],使用时候需要\[\],转义字符自己\,匹配\符号时候需要\\
8- 匹配空白字符 [\b] 回退字符(backspace) \f换页 \n 换行 \r 回车 \t制表 \v 垂直制表 PS:\r\n windows换行 \n linux/unix换行
9- 匹配特定字符 数字 \d = [0-9] \D = [^0-9]
字母和数字 \w = [a-zA-Z0-9_] \W = [^a-zA-Z0-9_]
空白字符 \s = [\f\n\r\t\v] \S = [^\f\n\r\t\v]
10- 匹配十六进制或八进制数值
十六进制 \x0A = 10 以ascii数计算符号即\n
八进制 \011 = 9 以ascii数计算符号即\t
11- +匹配一个或多个字符,如\w+,即一直匹配到非\w内容为止,+为元字符,匹配+号同样转义,\+
12- *匹配零个或多个字符,如[\w.]*,可以匹配零个字符
13- ?匹配零个或一个字符,如https?,匹配http和https
14- 匹配的重复次数
+* 无上限
**? 至少匹配零个或一个字符
+* 无法将匹配设定为一个精确的数字
15- 为重复匹配设定一个精确的值 {},如{3},重复匹配三次才算一个匹配,336633,匹配[0-9]{6}
16- 重复匹配次数设定一个区间 {1,2},最少重复1次,最多重复4次
17- 至少匹配n次,无上限,{3,},必须重复3次或更多次,无上限
18- 防止过度匹配,如<a> <\a> abc <a> <\a>,需要用<a>.*?<\a>,否则为把中间的abc也匹配在内
贪婪型 * + {n,}
懒惰型 *? +? {n,}?
19- .*,代表任意的都包含