字符类

要想匹配数字、字母、空白很容易,因为已经有了对应这些字符集合的转义符,但是如果你想匹配没有预定义的字符集合(比如元音字母 a、e、i、o、u),应该怎么办?

正则表达式中允许你自定义字符类,在方括号里列出它们就可以了

[aeiou]  

预定义的字符集合,也可以用字符类表示,如 \d 等价于 [0-9]

 

有些运算符,在字符类中使用会有另一种意义,例如^表示“字符串开始”,但在字符类中却表示 “非”,以expression为例,使用[exp]匹配:

expression  

使用[^exp]匹配(字符串中非 e、x、p 的字符):

expression  

而使用^[exp]匹配(以 e、x 或 p 起始的字符串):

expression