1、行头和尾:^和$
^:表示行头,^re只匹配以re开头的,re就可以匹配任意位置的re
$:表示行尾,re$只匹配以re结尾的。
注意:^和$只表示位置,而不代表任何字符;^$匹配空行。
单独的^和$匹配什么?
2、字符类簇:[ ]
[...]表示匹配[]内的任意字符,如r[ab]p可以匹配rap,也可以匹配rbp。
在[]内起作用的元字符仅有两个,-和^,其中-表示范围,^表示取反。
如[1-9],[a-z],[A-Z]表示范围内的任意一个字符,-在开头不表示范围,-在结尾表示范围吗?且无意义的-会出错,如[<-/],这里的-就会出错。
^表示非,如[^u]表示任意非u的字符,注意,行头和行尾不是字符,只是位置,所以不匹配。
如a[^u]就不匹配mega,因为a后面已是行尾。
那如果是这些情况呢:[abc^],[^]
3、任意字符:.
.可以表示任意字符(但不表示位置,即不匹配行头和尾),在[]内.不是元字符。
那如果要使.在[]内是元字符该怎么做呢?