通过前面的学习可以知道,正则表达式中元字符通常只能匹配一个位置或者字符集合中的某
一特定的字符,一般的情况下可以使用相应的元字符匹配空白、字符、数字。可是这种功能却是太
单调了。如果需要匹配字符集合的时候我们就需要自定义匹配的字符集合了,这就是通过字符类
来实现的。
字符类就是一个字符集合,他是正则表达式的"迷你"语言,在[]中进行定义的。例如[java]匹配j、a
v、a字符中的任意一个.
再如:[abcedfg]匹配的是a-g中的任意一个字符,不过由于这种写法的不便正则表达式引入了连接
字符"-",上述可以写成[a-g].
Tips:"-"只有当其不再第一个字符的时候才有意义.如果要匹配"-"那么就必须将其放在第一个字符!
[-a]匹配"-"或则"a".
这里有一个"^"如果在第一个字符时,表示否定整个字符类,而不是否定紧挨他的字符
例如:[^abc]表示匹配不是a、b、c的字符
有一点是需要注意的:正则表达式中的元字符在字符类中是不需要做任何特殊处理的,它仅仅表示一个
自身的字符,在字符类[]中使用元字符是也就不需要使用转义字符.
例如:[-.]表示匹配"-"和'.'不需要使用转义字符的.
转载于:https://blog.51cto.com/kiritor/1226697