本章节将介绍怎样使用正则表达式快速匹配数字和非数字。在正则表达式中,使用 \d 元字符表示数字,\D 元字符表示非数字。
在正则表达式中,元字符 \d 被广泛地用于表示数字,它将匹配一个 0~9 的数字。你也可以用字符组替代 \d 来匹配相同的内容,例如:
[0-9]
虽然语法不一样,但 \d 和 [0-9] 的效果是一样的。其中,字符组 [0-9] 表示范围,这意味着它会匹配 0 至 9 范围内的数字。你也可以列出 0 至 9 范围内的所有数字来进行匹配:
[0123456789]
如果只想匹配 0 和 1 两数字,可以使用下面字符组:
[01]
实例:匹配文档中所有的数字,如下:
上面的 \d 正则表达式将匹配“101”、“123”和“283”三个数字。
\d 元字符匹配任何一个 0 到 9 的数字,通常可以将元字符中的小写字母变成大写取反,取反的结果就是排除。比如,要匹配非数字字符,可使用包含大写字母 D 的元字符 \D。所以 \D 元字符匹配的字符包括字母字符(英文和非英文的字母/字符)和空白字符(如空格符)。如下:
\D
以上,大写字母 D 取代小写字母 d,就会匹配非数字字符。元字符 \D 与以下字符组取反的作用相同:
[^0-9]
下面这个表达式作用也一样:
[^\d]
实例:匹配文档中所有的非数字,将介绍三种方式:
(1)使用 \D 匹配非数字:
(2)使用 [^0-9] 匹配非数字:
(3)使用 [^\d] 匹配非数字: