行定位符:用来描述字符串边界(^表示行的开始,$表示行的结尾)
单词定界符(\b、\B):用“\b内容\b”包裹,代表内容为独立的单词。而用\B包裹的则是单词中的一部分。
字符类:
使用[ ]包裹,其中的内容不区分大小写。
注意:一对方括号只能匹配一个字符。例如匹配的TM不区分大小写,需要写成“[Tt][Mm]” 的形式(还要在开头和结尾加定 界符“/“和”/”)。
排除字符([^]):
用来匹配不符合命名规则的变量。例如[^a-zA-Z]就代表匹配不以字母和下划线开头的 变量名。
限定符(?* +{n,m}):用来匹配重复出现的字母或者字符串。
?:匹配?前面的字符零次或者一次。
+:匹配+前面的字符一次或多次。
*:匹配*前面的字符零次或者多次。
{n}:匹配{n}前面的字符n次。
{n,}:匹配{n,}前面的字符至少n次。
{n,m}:匹配{n,m}前面的字符最少n次,最多m次。
点号字符(.):可以匹配出除了换行符之外的任何一个字符。
转义字符(\):将有特殊含义的字符转义为普通字符。
例如匹配IP地址时的“.”符号的处理就应用到了转义字符。
这样才避免了与点号字符冲突。
括号字符(“()“):
括号字符有两个作用,其一便是改变限定符的作用范围。显然和表达的东西 是不同的。
括号字符的第二个作用便是分组。例如对某一个组进行重复操作的时候可以使用。代表了对括号部分进行三次重复操作。
附:反斜线制定的预定义字符集
\d:任意一个十进制数字
\D:任意一个非十进制数字
\s:任意一个空白字符(空格、换行符\n、换页符\f、回车符\r、水平制表符\t)。
\S:任意一个非空白字符。
\w:任意一个单词字符(相当于a-z、A-Z、0-9、_)。
\W:任意一个非单词字符。