1、起始边界 ^ $ \b \B
^ 确定字符串的起始位置
$ 确定字符串的结束位置
\b 匹配字符串的边界位置,指的是字符串和空白之间的位置,er\b可以匹配never中的er,无法匹配verb中的er
\B 匹配字符串的非边界位置,er\B可以匹配verb中的er,不能匹配never中的er
2、匹配次数 * + ? .
* 匹配0次或多次字符 等价于{0,}
+ 匹配1次或多次字符 等价于{1,}
? 匹配0次或多次字符 等价于{0,1},跟在*+ ?之后为非贪婪模式,尽可能少的匹配到搜索的字符
. 匹配除\n以外的任何单个字符,要匹配任何字符,可用[.|\n]
{n} 匹配确定的n次
{n,}匹配至少n次
{n,m}匹配至少n次,匹配之多m次
3、空白字符 \t \f \r \v \n
\t 匹配制表符
\f 匹配翻页符
\r 匹配enter回车符
\v 匹配垂直符
\n 匹配换行符
4、字符集 \d \D \s \S \w \W
[xyz] 匹配包含在内的字符
[^xyz]匹配不包含在内的字符
[x|y]匹配其中某一个字符
[A-Za-z0-9] 匹配包含在其中的字符
\d 匹配一个数字字符 等价于[0-9]
\D 匹配一个非数字字符 等价于[^0-9]
\s 匹配一个空白字符 等价于[\t\f\v\r\n]
\S 匹配一个非空白字符 等价于[^\t\f\v\r\n]
\w 匹配一个包含下划线的单词 等价于[A-Za-z0-9_]
\W 匹配一个非单词字符 等价于[^A-Za-z0-9_]