快速入门
教程
工具和语言
示例
参考
书评
替换文本教程
简介
字符
不可打印字符
匹配的文本
反向引用
匹配上下文
大小写转换
条件
本网站上的更多内容
简介
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
书评
可打印 PDF
关于本网站
RSS Feed 和博客

匹配的文本

将整个正则表达式匹配重新插入替换文本中,可以让搜索和替换在正则表达式匹配之前和之后插入文本,而不用真正替换任何内容。它还允许你将正则表达式匹配替换为包含正则表达式匹配的内容。例如,你可以将正则表达式 https?://\S+ 的所有匹配替换为 <a href="$&">$&</a>,将文件中的所有 URL 变成链接到这些 URL 的 HTML 锚点。

JGsoft 应用程序Delphi.NETJavaScriptVBScript 中,$& 在替换文本中用整个正则表达式匹配替换。在 Perl 中,它也是保存整个正则表达式匹配的变量。\&JGsoft 应用程序DelphiRuby 中有效。在 Tcl 中,& 本身表示整个正则表达式匹配,而 $& 是一个美元符号,后跟整个正则表达式匹配,\& 是一个字面上的和符号。

Booststd::regex 中,你选择的替换格式会改变 &$& 的含义。当使用 sed 替换格式时,& 表示整个正则表达式匹配,$& 是一个美元符号,后跟整个正则表达式匹配。当使用默认(ECMAScript)或“all”替换格式时,& 是一个字面上的和符号,$& 表示整个正则表达式匹配。

通常,整体正则表达式匹配被视为隐含的捕获组编号为零。在许多应用程序中,你可以使用替换文本中的反向引用语法来引用组号零,从而在替换文本中插入整个正则表达式匹配。你可以在JGsoft 应用程序Delphi.NETJavaXRegExpPCRE2PHPXPath中使用$0来执行此操作。\0适用于JGsoft 应用程序DelphiRubyPHPTcl

Python不支持上述任何一种。在 Python 中,你可以使用带组号零的命名反向引用的语法来重新插入整个正则表达式匹配:\g<0>。这在 JGsoft 应用程序中也适用。Delphi 不支持此操作,即使它使用此语法支持命名反向引用。

| 快速入门 | 教程 | 工具和语言 | 示例 | 参考 | 书籍评论 |

| 简介 | 字符 | 不可打印字符 | 匹配文本 | 反向引用 | 匹配上下文 | 大小写转换 | 条件 |