Regular Expression

Table of Contents

正则表达式是指用于字符串匹配的一种模式,最早出现于20世纪40年代.

字符集(字符组) []

  • [0-9] 可以匹配0到9范围内的任意数字.可以简写为 \d.
  • \D 可以匹配非数字字符.相当于 [^0-9][^\d].
  • \t 可以匹配水平制表符.
  • \v 可以匹配垂直制表符.
  • \f 可以匹配换页符.
  • \n 可以匹配换行符.
  • \r 可以匹配回车符.
  • \s 可以匹配空白字符.相当于 [\t\n\r].
  • \S 可以匹配非空白字符.相当于 [^\t\n\r][^\s].

通配符

  • . 可以匹配任意字符1.
  • ^ 行起始符.
  • $ 行结束符.
  • \b 单词边界2.
  • \B 非单词边界.

捕获与反向引用

  • 可以使用圆括号 () 创建捕获分组,之后可以对其进行反向引用,如 $1.

量词

  • {} 中的数字表示确切的匹配次数.
  • + 表示一次或者多次.
  • ? 表示零次或者一次.
  • * 表示零次或者多次.

Footnotes:

1

某些情况下不能匹配行起始符.

2

在旧语法中,指定单词首尾边界分别使用 \<\>.