[ ]功能:

[ ] 用来匹配中括号中的任意一个字符。

假如我们想查找 数字、字母 、数字 、空格 是很简单的事情,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(比如元音字母a e i o u),应该怎么办?很简单,你只需要在方括号里列出它们就行了,像 [aeiou] 就匹配任何一个英文元音字母,[.?!]匹配标点符号 . 或 ? 或 ! 。

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

举例:

下面是一个更复杂的表达式:
\(?0\d{2}[) -]?\d{8}
解释:这个表达式可以匹配 几种格式的电话号码 ,像 (010)88886666022-2233445502912345678 等。我们对它进行一些分析吧:首先是一个转义字符 \( ,它能出现 0次或1次(?), 然后是一个 0 ,后面跟着2位数字(\d{2}),然后是 )-空格 中的一种情况,它出现 0次或1次(?), 最后是8个数字(\d{8}) 。