正则表达式参考 |
引言 |
目录 |
快速参考 |
字符 |
基本功能 |
字符类 |
速记 |
锚点 |
单词边界 |
限定符 |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
命名捕获组 | (?<name>regex) | 将与“regex”匹配的文本捕获到组“name”中。该名称可以包含字母和数字,但必须以字母开头。 | (?<x>abc){3} 匹配 abcabcabc。组 x 匹配 abc。 | 是 | 是 | 7 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 是 | 否 | 是 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名捕获组 | (?'name'regex) | 将与“regex”匹配的文本捕获到组“name”中。该名称可以包含字母和数字,但必须以字母开头。 | (?'x'abc){3} 匹配 abcabcabc。组 x 匹配 abc。 | 是 | 是 | 否 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名捕获组 | (?P<name>regex) | 将与“regex”匹配的文本捕获到组“name”中。该名称可以包含字母和数字,但必须以字母开头。 | (?P<x>abc){3} 匹配 abcabcabc。组 x 匹配 abc。 | 是 | 否 | 否 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
重复命名组 | 任何命名组 | 两个命名组可以共享相同的名称。 | (?<x>a)|(?<x>b) 匹配 a 或 b。 | 是 | 是 | 7 个错误 | 5.10 | 6.7 选项 | 选项 | 5.2.0 选项 | 选项 | 选项 | 错误 | 不适用 | 错误 | 错误 | 1.9 | 不适用 | ECMA 1.42–1.83 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
重复命名组 | 任何命名组 | 共享相同名称的命名组被视为同一组,因此在使用反向引用时不会出现陷阱。 | 是 | 是 | 不适用 | 否 | 否 | 否 | 否 | 否 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 否 | 不适用 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
重复命名组 | 任何命名组 | 如果正则表达式有多个具有相同名称的组,则使用该名称的反向引用指向正则表达式中具有该名称的最左边的组。 | 否 | 否 | 不适用 | 否 | 6.7–8.33 | 否 | 5.2.0–5.5.9 | XE–XE6 | 2.14.0–3.0.2 | 不适用 | 不适用 | 不适用 | 不适用 | 否 | 不适用 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
重复命名组 | 任何命名组 | 如果正则表达式有多个具有相同名称的组,则使用该名称的反向引用指向具有该名称的最左边的组,该组在评估反向引用时实际参与了匹配尝试。 | 否 | 否 | 不适用 | 5.10 | 8.36 | 是 | 5.6.9 | 10.2 | 3.1.3 | 不适用 | 不适用 | 不适用 | 不适用 | 否 | 不适用 | ECMA 1.47–1.83 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
重复命名组 | 任何命名组 | 如果正则表达式有多个具有相同名称的组,则使用该名称的反向引用指向正则表达式中出现在反向引用左边的具有该名称的最右边的组。 | 否 | 否 | 不适用 | 否 | 否 | 否 | 否 | 否 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 否 | 不适用 | ECMA 1.42–1.46 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
重复命名组 | 任何命名组 | 如果正则表达式有多个具有相同名称的组,则使用该名称的反向引用可以匹配正则表达式中出现在反向引用左边的具有该名称的任何组捕获的文本。 | 否 | 否 | 不适用 | 否 | 否 | 否 | 否 | 否 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 1.9 | 不适用 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
命名反向引用 | \k<name> | 用命名组“name”匹配的文本替换。 | (?<x>abc|def)=\k<x> 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 是 | 是 | 7 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 是 | 否 | 是 | 否 | 1.9 | 否 | ECMA 1.47–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名反向引用 | \k'name' | 用命名组“name”匹配的文本替换。 | (?'x'abc|def)=\k'x' 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 是 | 是 | 否 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.47–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名反向引用 | \k{name} | 用命名组“name”匹配的文本替换。 | (?'x'abc|def)=\k{x} 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 否 | 否 | 否 | 5.10 | 7.2 | 是 | 5.2.4 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 1.47–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名反向引用 | \g{name} | 用命名组“name”匹配的文本替换。 | (?'x'abc|def)=\g{x} 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 否 | 否 | 否 | 5.10 | 7.2 | 是 | 5.2.4 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名反向引用 | (?P=name) | 用命名组“name”匹配的文本替换。 | (?P<x>abc|def)=(?P=x) 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 是 | 否 | 否 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
失败的反向引用 | 任何已命名的反向引用 | 对未参与匹配尝试的组的反向引用匹配失败。 | (?<x>a)?\k<x> 匹配 aa,但无法匹配 b。 | 是 | 非 ECMA | 7 | 5.10 | 是 | 是 | 是 | 是 | 是 | 已忽略 | 不适用 | 已忽略 | 是 | 1.9 | 不适用 | ECMA 1.47–1.83 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
嵌套反向引用 | 任何已命名的反向引用 | 反向引用可在它们引用的组内使用。 | (?<x>a\k<x>?){3} 匹配 aaaaaa。 | 是 | 是 | 7 | 5.10 | 6.5 | 是 | 5.1.3 | 是 | 是 | 已忽略 | 不适用 | 已忽略 | 2.4–3.4 失败 | 1.9 失败 | 不适用 | ECMA 1.78–1.83 失败 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
前向引用 | 任何已命名的反向引用 | 反向引用可在它们引用的组之前使用。 | (\k<x>?(?<x>a)){3} 匹配 aaaaaa。 | 是 | 是 | 7 个错误 | 5.10 | 6.7 | 是 | 5.2.0 | 是 | 是 | 已忽略 | 不适用 | 错误 | 错误 | 1.9 错误 | 不适用 | ECMA 1.42–1.83 错误 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
命名捕获组 | 任何已命名的捕获组 | 数字是捕获组的有效名称。 | (?<17>abc){3} 匹配 abcabcabc。名为“17”的组匹配 abc。 | 是 | 是 | 7 个错误 | 5.10 错误 | 4.0–8.33 | 错误 | 5.0.0–5.1.2 | XE–XE6 | 2.14.0–3.0.2 | 错误 | 不适用 | 错误 | 错误 | 1.9 错误 | 不适用 | ECMA 1.42–1.83 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
命名捕获组 | 任何名称为数字的捕获组 | 如果组的名称是数字,则该数字将成为组的名称和组的编号。 | (?<17>abc|def)=\17 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 否 | 是 | 不适用 | 不适用 | 否 | 不适用 | 否 | 否 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 否 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
命名反向引用 | 任何已命名的反向引用 | 一个数字是一个反向引用的有效名称,该反向引用指向一个名称为该数字的组。 | (?<17>abc|def)=\k<17> 匹配 abc=abc 或 def=def,但不匹配 abc=def 或 def=abc。 | 是 | 是 | 不适用 | 不适用 | 4.0–8.33 | 不适用 | 5.0.0–5.1.2 | XE–XE6 | 2.14.0–3.0.2 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | ECMA 1.42–1.83 错误 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
命名捕获组 | 任何已命名的捕获组 | 一个负数是一个捕获组的有效名称。 | (?<-17>abc){3} 匹配 abcabcabc。名为“-17”的组匹配 abc。 | 错误 | 错误 | 7 个错误 | 5.10 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 不适用 | 错误 | 错误 | 1.9 错误 | 不适用 | ECMA 1.42–1.83 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
命名反向引用 | 任何已命名的反向引用 | 一个负数是一个反向引用的有效名称,该反向引用指向一个名称为该负数的组。 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | ECMA 1.42–1.83 错误 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | |
功能 | 语法 | 说明 | 示例 | 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 |
| 快速入门 | 教程 | 工具和语言 | 示例 | 参考 | 书籍评论 |
| 简介 | 目录 | 快速参考 | 字符 | 基本功能 | 字符类 | 简写 | 锚点 | 单词边界 | 量词 | Unicode | 捕获组和反向引用 | 命名组和反向引用 | 特殊组 | 模式修饰符 | 递归和平衡组 |
| 字符 | 匹配的文本和反向引用 | 上下文和大小写转换 | 条件 |
页面 URL:https://regexper.cn/refext.html
页面上次更新时间:2023 年 10 月 16 日
网站上次更新时间:2024 年 3 月 15 日
版权所有 © 2003-2024 Jan Goyvaerts。保留所有权利。