要想匹配数字、字母、空白很容易,因为已经有了对应这些字符集合的转义符,但是如果你想匹配没有预定义的字符集合(比如元音字母 a、e、i、o、u),应该怎么办?
正则表达式中允许你自定义字符类,在方括号里列出它们就可以了
[aeiou]
预定义的字符集合,也可以用字符类表示,如\d
等价于 [0-9]
有些运算符,在字符类中使用会有另一种意义,例如^
表示“字符串开始”,但在字符类中却表示 “非”,以expression
为例,使用[exp]
匹配:
exp
re
ssion
使用[^exp]
匹配(字符串中非 e、x、p 的字符):
expr
ession
而使用^[exp]
匹配(以 e、x 或 p 起始的字符串):
e
xpression