特别字符
^ 匹配输入字符的开始位置, 在方括号中使用表示取反;
$ 匹配输入字符的结尾位置;
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次货多次
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符
() 标志一个子表达式的开始和结束位置
. 匹配除换行符 之外的任何单字符
| 指明两项之间的一个选择
{ 标记限定符表达式的开始
限定符
限定符用来指定正则表达式的一个给定的组件出现多少次才能满足匹配要求。
有* 、 + 、 ? 、{n} 、{n,}、 {n,m} 六中
*、+、?都是贪婪的,因为他们会尽可能多的匹配文字,只有在他们的后面加上一个? 就可以实现费贪婪或最小匹配
定位符
用来描述字符串或单词的边界,^和$分别指字符串的开始和结束, 描述单词的前或后边界,B表示非单词边界。 不能对定位符使用限定符。
常用符号解释
d 匹配一个数字字符。等价于[0-9]
D 匹配一个非数字字符。等价于[^0-9]
匹配一个换行符。等价于 x0a 和 cJ
匹配一个回车符。等价于 x0d 和 cM
s 匹配任何空白字符。
S 匹配任何非空白字符。
匹配一个制表符。
w 匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_]
W 匹配任何非单词字符。等价于 [^A-Za-z0-9_]