2.2 匹配数字

在RegExr中左上方的文本框中,输入以下字符组简写式来匹配数字:

  1. \d

因为默认勾选了global(全局匹配)复选框,这将会匹配下方文本区域中所有的阿拉伯数字。取消选择该复选框后,\d只会匹配第一个出现的数字(参见图2-2)。

enter image description here

图2-2 在RegExr中用\d匹配所有的数字

现在用字符组替代\d来匹配相同的内容。在RegExr的上方文本框中输入以下范围的数字:

  1. [0-9]

如同在图2-3中看到的,虽然语法不一样,但\d[0-9]的效果是一样的。

enter image description here

图2-3 在RegExr中用[0-9]匹配所有的数字

第5章将会学习更多有关字符组的内容。

字符组[0-9]表示范围,这意味着它会匹配0至9范围内的数字。你也可以列出0至9范围内的所有数字来进行匹配:

  1. [0123456789]

如果只想匹配0和1两个数字,可以使用这个字符组:

  1. [01]

请在RegExr中尝试一下[12]并看看结果。使用字符组可精确匹配字符。数字的字符组简写式\d更为简短,但却没有字符组强大、灵活。在无法使用\d时(不是所有情况下都支持这种方式),或者想匹配特定数字时,就需要使用字符组;合适的时候可以使用\d,因为它更简短。