一.字符组 : [] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的
[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[a-zA-Z] 匹配大小写字母
[a-zA-Z0-9] 匹配大小写字母数字
[a-zA-Z0-9_] 匹配大小写字母数字下划线
65-90英文字母小写
97-122英文字母大写
二.元字符
\w 匹配数字字母下划线
\d 匹配所有的数字
\s 匹配所有的空白符,制表符,空格符,换行符,回车,\n,\t
[\W\w],[\D\d],[\S\s]是三组全集,意思是匹配所有字符
\b 表示单词的边界
^匹配一个字符串的开始
$匹配一个字符串的结束
. 表示匹配除换行符之外的所有字符
[]只要出现在中括号的内容都能被匹配
[^]只要不出现在中括号的内容都能被匹配
a|b 或 符合a规则或b规则的都可以被匹配,如果a规则比b规则要苛刻长,就把a规则写在前面
() 分组 表示给几个字符进行量词约束的时候,就给这些量词分在一个组
三.量词
{n}表示这个量词之间的字符出现n次
{n,}表示这个量词之间的字符至少出现n次
{n,m}表示这个量词之间的字符出现n-m次
?表示匹配量词之间的字符出现0次或1次
*表示匹配量词之间的字符出现0次或者多次
+表示匹配量词之间的字符出现1次或者多次
四.1.正则表达式的匹配特点:贪婪匹配,它会在允许的范围内取最长的结果
2.非贪婪模式/惰性匹配:在量词的后面加上?
*?重复任意次.但尽可能少重复
+?重复一次或更多次,但尽可能少重复
??重复0次或1次,但尽可能少重复
{n,m}?重复n到m次,但尽可能少重复
{n,}?重复n次以上,但尽可能少重复