字符类

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

很简单,你只需要在方括号里列出它们就行了,像 [aeiou] 就匹配任何一个英文元音字母,[.?!] 匹配标点符号( . 或 ? 或 ! )。

我们也可以轻松地指定一个字符范围,像 [0-9] 代表的含意与 \d 就是完全一致的:一位数字;同理 [a-z0-9A-Z_] 也完全等同于 \w(如果只考虑英文的话)。

下面是一个更复杂的表达式:

\(?0\d{2}[) -]?\d{8}。

(”和“)”也是元字符,后面的分组节里会提到,所以在这里需要使用转义。

这个表达式可以匹配几种格式的电话号码,像 (010)88886666,或022-22334455,或 02912345678 等。我们对它进行一些分析吧:首先是一个转义字符 \(,它能出现0次或1次 (?),然后是一个0,后面跟着2个数字(\d{2}),然后是)-或空格中的一个,它出现1次或不出现 (?),最后是8个数字 (\d{8})

results matching ""

    No results matching ""