1,以/为起始和截止符
2,^tm表示行开头匹配tm tm$表示行结尾匹配tm 直接tm表示整个匹配
3,单词定界符:(\b, \B),\b表示匹配的是一个单词,\B表示匹配的不是一个单词
例如\btm\b表示匹配一个完整的单词tm, \Btm\B表示匹配的不是一个完整的单词,而是其他单词或者字符串的一部分
4,字符类
正则表达式是区分大小写的,如果忽略大小写可以使用方括号表达式"[]",比如[Tt],表示不区分T的大小写
另一个不区分大小写是"|",两者区别是前者只有单字符,后者可以多字符串
5,连字符"-"表示范围
例如[a-zA-Z]表示匹配所有的字符开头的字符串
6,排除号字符"^"
这个字符和2一样,但是如果放在字符前面,表示开头匹配,但是放在方括号"[]"中,则表示排除号字符,例如[^a-zA-Z]表示匹配所有的不以字符a-z和A-Z开头的字符串
7,限定符(?,+,*,{n,m})
代表的意思分别是
限定符
说明
举例
?
匹配前面的字符零次或者一次
colou?r匹配color或者colour
+
匹配前面的字符一次或者或者多次
go+gle陪陪匹配gogle,google,gooogle
*
匹配前面的字符零次或者多次
go*gle匹配ggle,gogle
{n}
匹配前面的字符n次
go{2}gle只匹配google
{n,}
匹配前面的字符最少n次
go{2}gle匹配google,gooogle,goooogle
{n,m}
匹配前面的字符最少n次,最多n次
go{2,3}gle只匹配google,gooogle
8,点号字符(.)
点号字符可以匹配除了换行符之外的任何一个字符,注意,是一个字符,那么以s开头,t结尾,中间有一个字符的正则表达式是^s.t$
9,小括号
小括号的作用有两个,一个是改变限定符的作用范围,例如(thirt|four)th表示匹配thirth,fourth,另外一个作用是分组,也就是子表达式,例如(\.[0-9]{1,3}){3}是对分组进行操作
10,反斜线对应的预定字符串信息
预定义字符集
说明
\d
任意一个十进制数
\D
任意一个非十进制数
\s
任意一个空白字符(空格,换行符,分页符,回车符,水平制表符),对应于[\f\n\r\t]
\S
任意一个非空白字符
\w
任意一个单词字符,相当于[a-zA-Z0-9_]
\W
任意一个非单词字符