1.元字符的用法
"^": 匹配行首或者字符串开头
"$": 匹配行尾或者字符串结尾
"\d": 匹配数字
"\w": 匹配字母,数字,下划线
"\s": 匹配空格
"\b": 表示单词边界,不消耗字符
".": 匹配任意字符
"[abc]": 匹配方括号里面的
2.反义
"\D": 匹配不是数字的任意字符
"\W": 匹配不是数字,字母,下划线的任意字符
"\S": 匹配不是空白符的任意字符
"[^abc]": 匹配不是括号里的任意字符
"\B": 匹配不是单词开头或者结尾的位置
3.量词
"*"(贪婪)重复零次或更多
"+"(懒惰)重复一次或更多
"?"(占有)重复零次或一次
"{n}"重复n次
"{n,m}"重复n到m次
"{n,}"重复n次或更多次
4.懒惰限定符(在后面加个?号)
"*?"重复任意次,但尽可能少重复
"+?"重复任意一次或更多次,但尽可能少重复
"??"重复任意0次或一次,但尽可能少重复
"{n,m}?"重复任意n次到m次,但尽可能少重复
"{n,}?"重复n次以上,但尽可能少重复
5.捕获分组(小括号为捕获())
"(exp)"匹配exp,并捕获文本到自动命名的组里
"(?<name>exp)"匹配exp,并捕获文本到名称为name的组里
"(?:exp)"匹配exp,不捕获匹配的文本,也不给此分组分配组号
零宽断言
"(?=exp)"匹配exp前面的位置
"(?<=exp)"匹配exp后面的位置
"(?!exp)"匹配后面跟的不是exp的位置
"(?<!exp)"匹配前面不是exp的位置