正则表达式参考 |
简介 |
目录 |
快速参考 |
字符 |
基本功能 |
字符类 |
速记 |
锚点 |
单词边界 |
量词 |
Unicode |
捕获组和反向引用 |
命名组和反向引用 |
特殊组 |
模式修饰符 |
递归和平衡组 |
替换参考 |
字符 |
匹配的文本和反向引用 |
上下文和大小写转换 |
条件 |
更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书评 |
可打印 PDF |
关于本网站 |
RSS 提要和博客 |
功能 | 语法 | 说明 | 示例 | JGsoft | .NET | Java | Perl | PCRE | PCRE2 | PHP | Delphi | R | JavaScript | VBScript | XRegExp | Python | Ruby | std::regex | Boost | Tcl ARE | POSIX BRE | POSIX ERE | GNU BRE | GNU ERE | Oracle | XML | XPath |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
文字字符 | 除 [\^$.|?*+()外的任何字符 | 除列出的特殊字符外的所有字符都匹配其自身的一个实例 | a 匹配 a | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
文字花括号 | { 和 } | { 和 } 是文字字符,除非它们是有效正则表达式标记的一部分,例如量词 {3} | { 匹配 { | 是 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 1.9 | 基本 grep | ECMA 1.54–1.83 basic 1.38–1.83 grep 1.38–1.83 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 否 |
反斜杠转义元字符 | \后跟任意一个[\^$.|?*+(){} | 反斜杠转义特殊字符以抑制其特殊含义 | \*匹配* | 是 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 1.9 | 基本 grep | ECMA 1.54–1.83 basic 1.38–1.83 grep 1.38–1.83 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 否 |
转义序列 | \Q...\E | 逐字匹配\Q和\E之间的字符,抑制特殊字符的含义 | +-*/ 匹配+-*/ | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 扩展 egrep awk | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
十六进制转义 | \xFF其中 FF 是 2 个十六进制数字 | 匹配代码页中指定位置处的字符 | \xA9在使用 Latin-1 代码页时匹配© | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | ECMA 扩展 egrep awk | 是 | 字符串 | 字符串 | 字符串 | 字符串 | 否 | 否 | 否 |
字符转义 | \n、\r和\t | 分别匹配 LF 字符、CR 字符和制表符 | \r\n匹配 Windows CRLF 换行符 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA awk | ECMA 扩展 egrep awk | 是 | 字符串 | 字符串 | 字符串 | 字符串 | 否 | 是 | 是 |
换行符 | \R | 匹配任何换行符,包括 CRLF 成对、仅 CR、仅 LF、换页符、垂直制表符和任何 Unicode 换行符 | V2 | 否 | 8 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 否 | 否 | 否 | 否 | 2.0 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
换行符 | \R | 匹配下一个换行控制字符 U+0085 | V2 | 不适用 | 8 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 不适用 | 不适用 | 不适用 | 不适用 | 2.0 | 不适用 | ECMA 1.54–1.83 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
换行符 | \R | CRLF 换行符不可分割 | \R{2}和\R\R不能匹配\r\n | 是 | 不适用 | 9 否 | 5.10 否 | 7.0–8.12 否 | 是 | 5.2.2–5.3.18 否 | XE–XE6 否 | 是 | 不适用 | 不适用 | 不适用 | 不适用 | 是 | 不适用 | 是 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
换行符 | 逐字 CRLF、LF 或 CR 换行符 | 无论在正则表达式中使用哪种换行符样式,都匹配 CRLF 成对、仅 CR 和仅 LF | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 | |
字符转义 | \a | 匹配“警报”或“铃声”控制字符(ASCII 0x07) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 是 | 是 | awk | ECMA 扩展 egrep awk | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
字符转义 | \b | 匹配“退格”控制字符(ASCII 0x08) | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | awk | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
字符转义 | \B | 匹配反斜杠 | \B匹配\ | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
字符转义 | \e | 匹配“转义”控制字符(ASCII 0x1B) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 是 | 否 | ECMA 扩展 egrep awk | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
字符转义 | \f | 匹配“换页符”控制字符(ASCII 0x0C) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA awk | ECMA 扩展 egrep awk | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
字符转义 | \v | 匹配“垂直制表符”控制字符(ASCII 0x0B),但不匹配任何其他垂直空白。 | 仅 V1 | 是 | 4–7 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 | 是 | 是 | 是 | ECMA awk | ECMA 1.38–1.39 extended 1.38–1.83 egrep 1.38–1.83 awk 1.38–1.83 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
控制字符转义 | \cA 到 \cZ | 匹配 ASCII 字符 Control+A 到 Control+Z,等效于 \x01 到 \x1A | \cM\cJ 匹配 Windows CRLF 换行符 | 仅 V1 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | ECMA | ECMA 扩展 egrep awk | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
控制字符转义 | \ca 到 \cz | 匹配 ASCII 字符 Control+A 到 Control+Z,等效于 \x01 到 \x1A | \cm\cj 匹配 Windows CRLF 换行符 | 仅 V1 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | ECMA | ECMA 扩展 egrep awk | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
NULL 转义 | \0 | 匹配 NULL 字符 | 否 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | ECMA | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | |
八进制转义 | \o{7777} 其中 7777 是任何八进制数 | 匹配活动代码页中指定位置的字符 | 使用 Unicode 时,\o{20254} 匹配 € | V2 | 否 | 否 | 5.14 | 8.34 | 是 | 5.5.10 | XE7 | 3.0.3 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \1 到 \7 | 匹配 ASCII 表中指定位置的字符 | \7 匹配“响铃”字符 | 否 | ECMA | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 是 | 否 | 否 | 否 | awk | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \10 到 \77 | 匹配 ASCII 表中指定位置的字符 | \77 匹配 ? | 否 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 是 | awk | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \100 到 \177 | 匹配 ASCII 表中指定位置的字符 | \100 匹配 @ | 否 | 是 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | awk | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \200 到 \377 | 匹配活动代码页中指定位置的字符 | 使用 Latin-1 代码页时,\377 匹配 ÿ | 否 | 2.0–7.0 | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 仅 1.8 失败 | awk | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \400 到 \777 | 匹配活动代码页中指定位置的字符 | 使用 Unicode 时,\777 匹配 ǿ | 否 | 非 ECMA 1.0–1.1 失败 | 否 | 5.14 | 6.7 | 是 | 5.2.0 | 是 | 是 | 否 | 否 | 否 | 3.5 错误 | 仅 1.8 失败 | awk | 否 | 8.4–8.5 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \01 到 \07 | 匹配 ASCII 表中指定位置的字符 | \07 匹配“响铃”字符 | 仅 V1 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | awk | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \010 到 \077 | 匹配 ASCII 表中指定位置的字符 | \077 匹配 ? | 仅 V1 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | awk | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \0100 到 \0177 | 匹配 ASCII 表中指定位置的字符 | \0100 匹配 @ | 仅 V1 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
八进制转义 | \0200 到 \0377 | 匹配活动代码页中指定位置的字符 | \0377 在使用 Latin-1 代码页时匹配 ÿ | 仅 V1 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
功能 | 语法 | 说明 | 示例 | JGsoft | .NET | Java | Perl | PCRE | PCRE2 | PHP | Delphi | R | JavaScript | VBScript | XRegExp | Python | Ruby | std::regex | Boost | Tcl ARE | POSIX BRE | POSIX ERE | GNU BRE | GNU ERE | Oracle | XML | XPath |