快速入门
教程
工具和语言
示例
参考
书籍评论
替换参考
引言
目录
字符
匹配文本和反向引用
上下文和大小写转换
条件
正则表达式参考
更多此类网站
引言
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
书籍评论
可打印 PDF
关于此网站
RSS Feed 和博客
RegexBuddy—Better than a regular expression reference!

替换字符串参考:匹配文本和反向引用

功能语法说明示例JGsoft .NET Java Perl PCRE2 PHP Delphi R JavaScript VBScript XRegExp Python Ruby std::regex Boost Tcl ARE Oracle XPath
和符号 \& 插入一个文字和符号。 \& 替换会生成 & nonoYESYESextendednonoYESnononononosedYESYESnoerror
整个匹配 \& 插入整个正则表达式匹配。 1a2b 中用 [\&] 替换 \d+ 会生成 [1]a[2]b YESnononononoYESnononononoYESnonononoerror
整个匹配 $& 插入整个正则表达式匹配。 1a2b 中用 [$&] 替换 \d+ 会生成 [1]a[2]b YESYESerrorYESerrornoYESnoYESYESYESnonodefaultall
default
nonoerror
整个匹配 & 插入整个正则表达式匹配。 1a2b 中用 [&] 替换 \d+ 会生成 [1]a[2]b nononononononononononononosedsedYESnono
整个匹配 \0 插入整个正则表达式匹配。 1a2b 中用 [\0] 替换 \d+ 会生成 [1]a[2]b YESnonononoYESYESnononononoYESsedsedYESnoerror
整个匹配 $0 插入整个正则表达式匹配。 1a2b 中用 [$0] 替换 \d+ 会生成 [1]a[2]b YESYESYESerrorYESYESYESnononoYESnonodefault
VC’08–VC’13
all
default
nonoYES
整个匹配 \g<0> 插入整个正则表达式匹配。 \d+ 替换为 [\g<0>],在 1a2b 中生成 [1]a[2]b YESnonononononononononoYESnononononoerror
整个匹配 $MATCH${^MATCH} 插入整个正则表达式匹配。 \d+ 替换为 [$MATCH],在 1a2b 中生成 [1]a[2]b nonoerrorerrorerrornononononoerrornononoall
default
1.42–1.83
nonoerror
反向引用 \1\9 插入前 9 个捕获组之一匹配的文本。 (a)(b)(c) 替换为 \3\3\1,在 abc 中生成 cca YESnonoYESnoYESYESYESnononoYESYESsedYESYESYESerror
反向引用 \10\99 插入捕获组 10 到 99 匹配的文本。 YESnonononoYESYESnonononoYESnononononono
反向引用和文字 \10\99 如果捕获组少于 2 位数字,则将其视为单个数字反向引用后跟一个数字文字,而不是无效的反向引用。 (a)(b)(c) 替换为 \39\38\17,在 abc 中生成 c9c8a7 YES不适用不适用不适用不适用noYES不适用不适用不适用不适用no不适用不适用不适用不适用不适用不适用
反向引用 $1$9 插入前 9 个捕获组之一匹配的文本。 (a)(b)(c) 替换为 $3$3$1,在 abc 中生成 cca YESYESYESYESYESYESYESnoYESYESYESnonodefaultall
default
nonoYES
反向引用 $10$99 插入捕获组 10 到 99 匹配的文本。 YESYESYESYESYESYESYESnoYESYESYESnonodefaultall
default
nonoYES
反向引用和文字 $10$99 如果捕获组少于 2 位数字,则将其视为单个数字反向引用后跟一个数字文字,而不是无效的反向引用。 $39$38$17 替换 (a)(b)(c),在 abc 中得到 c9c8a7 YESECMAYESnononoYES不适用YESYESno不适用不适用nono不适用不适用YES
反向引用 ${1}${99} 插入由捕获组 1 至 99 匹配的文本。 ${3}${3}${1} 替换 (a)(b)(c),在 abc 中得到 cca YESYESerrorYESYESYESYESnononoYESnononoall
default
nonoerror
反向引用 \g<1>\g<99> 插入由捕获组 1 至 99 匹配的文本。 \g<3>\g<3>\g<1> 替换 (a)(b)(c),在 abc 中得到 cca YESnonononononononononoYESnononononoerror
命名反向引用 ${name} 插入由命名捕获组“name”匹配的文本。 ${two}${one} 替换 (?'one'a)(?'two'b),在 ab 中得到 ba YESYES7errorYESnoYESnononoYESnonononononoerror
命名反向引用 $+{name} 插入由命名捕获组“name”匹配的文本。 $+{two}$+{one} 替换 (?'one'a)(?'two'b),在 ab 中得到 ba nonoerror5.10errornononononoerrornononoall
default
1.42–1.83
nonoerror
命名反向引用 $name 插入由命名捕获组“name”匹配的文本。 $two$one 替换 (?'one'a)(?'two'b) 中的 ab 会生成 ba nonoerrorerrorYESnononononoerrornonononononoerror
命名反向引用 \g<name> 插入由命名捕获组“name”匹配的文本。 \g<two>\g<one> 替换 (?P<one>a)(?P<two>b) 中的 ab 会生成 ba YESnononononoYESnonononoYESnononononoerror
无效的反向引用 任何受支持的反向引用语法 指示高于最高编号组的编号或不存在的组名称的反向引用将替换为空字符串。 仅限 V1noerrorYESerrorYESYESYESnonoerrorerrorYES默认 VC’08–VC’22
sed VC’15–VC’22
YESYESYESYES
无效的反向引用 任何受支持的反向引用语法 指示高于最高编号组的编号或不存在的组名称的反向引用将被视为按原样插入替换中的文本字面值。 V2 错误YESerrornoerrornononoYESYESerrorerrornosed
VC’08–VC’13 错误
nononono
对非参与组的反向引用 任何受支持的反向引用语法 对非参与捕获组的反向引用将替换为空字符串。 YESYESYESYESerrorYESYESYESYESYESYES3.5YESYESYESYESYESYES
最后一个反向引用 \+ 插入与实际参与匹配的最高编号捕获组匹配的文本。 [\+] 替换 (a)(z)? 中的 ab 会生成 [a]b YESnononononoYESnononononoYESnonononoerror
最后一个反向引用 \+ 插入与最高编号捕获组匹配的文本,无论它是否参与匹配。 [\+] 替换 (a)(z)? 中的 ab 会生成 []b nononononononononononononononononoerror
最后一个反向引用 $+ 插入与实际参与匹配的最高编号捕获组匹配的文本。 [$+] 替换 (a)(z)? 中的 ab 会生成 [a]b YESnoerror5.18errornoYESnononoerrornonononononoerror
最后一个反向引用 $+ 插入与最高编号捕获组匹配的文本,无论它是否参与匹配。 [$+] 替换 (a)(z)? 中的 ab 会生成 []b noYESerror5.8–5.16errornonononoYESerrornononoall
default
1.42–1.83
nonoerror
最后一个反向引用 $^N 插入与实际参与匹配的最高编号捕获组匹配的文本。 (a)(z)? 替换为 [$^N],在 ab 中生成 [a]b nonoerrorYESerrornononononoerrornononoall
default
1.42–1.83
nonoerror
最后一个反向引用 $LAST_SUBMATCH_RESULT${^LAST_SUBMATCH_RESULT} 插入与实际参与匹配的最高编号捕获组匹配的文本。 (a)(z)? 替换为 [$LAST_SUBMATCH_RESULT],在 ab 中生成 [a]b nonoerrorerrorerrornononononoerrornononoall
default
1.42–1.83
nonoerror
最后一个反向引用 $LAST_PAREN_MATCH${^LAST_PAREN_MATCH} 插入与最高编号捕获组匹配的文本,无论它是否参与匹配。 (a)(z)? 替换为 [$LAST_PAREN_MATCH],在 ab 中生成 []b nonoerrorerrorerrornononononoerrornononoall
default
1.42–1.83
nonoerror
功能语法说明示例JGsoft .NET Java Perl PCRE2 PHP Delphi R JavaScript VBScript XRegExp Python Ruby std::regex Boost Tcl ARE Oracle XPath