正则表达式是描述字符串集的表示法。 当字符串位于正则表达式描述的集合中时,我们表示正则表达式与字符串 匹配

最简单的正则表达式是单个文本字符。 除了 *+?()| 等元字符,字符匹配自身。 若要匹配元字符,请使用反斜杠将其转义。 例如, \+ 匹配文本加字符。

可以更改或连接两个正则表达式,形成一个新的正则表达式:如果 e 1 匹配 s e 2 匹配 t ,则 e 1 * | e 2 匹配 s t ,而且 e 1 * e 2 匹配 st

元字符,并且 ? 是重复运算符 *``+ e 1 * 匹配零个或多个序列 (可能不同的) 字符串,每个字符串匹配 e 1 e 1 + 匹配一个或多个; e 1 ? 匹配零或一。

运算符优先级(从最弱到最强绑定)如下所示:

  • 重复运算符
  • 显式括号可用于强制使用不同的含义,如算术表达式中一样。 一些示例: ab|cd 等效于 (ab)|(cd) ; ab\ 等效于 a(b\)

    目前所介绍的语法大部分为传统的 Unix egrep 正则表达式语法。 此子集足以描述所有常规语言。 正则语言是一组字符串,只需使用固定的内存量,即可在单次传递文本中进行匹配。 较新的正则表达式工具 (特别是 Perl 和复制它的语言) 添加了许多新的运算符和转义序列。 这些更改使正则表达式更简洁,有时更隐秘,但功能不强。

    本页列出了 RE2 接受的正则表达式语法。

    它还列出了 PCRE、PERL 和 VIM 接受的一些语法。

    单字符表达式的类型 [[:graph:]] 可打印与可见字符(等价于 [!-~] 等价于 [A-Za-z0-9!"#$%&'()\*+,\-./:;<=>?@[\\\]^_ ` {\|}~] ) [[:lower:]] 匹配小写字符(等价于 [a-z]) [[:print:]] 匹配可打印字符(等价于 [-~] 等价于 [[:graph:]]) [[:punct:]] 匹配标点字符(等价于 [!-/:-@[-`{-~]) [[:space:]] 匹配任何空白字符(等价于 [\t\n\v\f\r]) [[:upper:]] 匹配大写字符(等价于 [A-Z] ) [[:word:]] 匹配包括下划线的任何单词字符(等价于 [0-9A-Za-z_]) [[:xdigit:]] 匹配十六进制数字字符(等价于 [0-9A-Fa-f])

    本页面的某些部分是根据 Chromium.org 创建和共享的作品所做的修改,并根据 Creative Commons Attribution 4.0 国际许可证 中所述的条款进行使用。 可在 此处 找到原始页面。

    Creative Commons License
    此作品通过 Creative Commons Attribution 4.0 国际许可证 获得许可。

  • Microsoft Edge Enterprise 登录页面
  •