替换文本教程 |
简介 |
字符 |
不可打印字符 |
匹配文本 |
反向引用 |
匹配上下文 |
大小写转换 |
条件 |
本网站的更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书评 |
可打印 PDF |
关于本网站 |
RSS Feed 和博客 |
大多数应用程序和编程语言都不支持替换文本中的任何特殊语法,使其更易于输入不可打印字符。如果您是应用程序的最终用户,这意味着您必须使用 Windows 字符映射等应用程序来帮助您输入无法在键盘上键入的字符。如果您正在编程,则可以将替换文本指定为源代码中的字符串常量。然后,您可以在编程语言中使用 字符串常量的语法 来指定不可打印字符。
Just Great Software 应用程序 是一个例外。它们允许您使用特殊的转义序列输入一些常见的控制字符。使用 \t 替换为制表符(ASCII 0x09),\r 替换为回车(0x0D),\n 替换为换行(0x0A)。请记住,Windows 文本文件使用 \r\n 终止行,而 UNIX 文本文件使用 \n。
Python 也支持替换文本中的上述转义序列,除了在字符串常量中支持它们之外。Python 和 Boost 也支持这些更奇特的不可打印字符:\a(响铃,0x07),\f(换页,0x0C)和 \v(垂直制表符,0x0B)。
Just Great Software 应用程序和 Boost 也支持十六进制转义。您可以使用 \x{FFFF} 插入 Unicode 字符。欧元货币符号占据 Unicode 代码点 U+20AC。如果您无法在键盘上键入,您可以使用 \x{20AC} 将其插入替换文本中。JGsoft 应用程序还支持 \u20AC。对于 127 个 ASCII 字符,您可以使用 \x00 到 \x7F。如果您在 EditPad 或 PowerGREP 中使用 8 位代码页处理文件,或在 Boost 中使用 8 位字符字符串,您还可以使用 \x80 到 \xFF 从这些 8 位代码页中插入字符。
Python 不支持替换文本语法中的十六进制转义,即使它在字符串常量中支持 \xFF 和 \uFFFF。
许多编程语言支持源代码中文字符串字面量的非打印字符转义。然后,在将字符串传递给搜索和替换函数之前,编译器会将此类转义符转换为其实际字符。如果搜索和替换函数不支持相同的转义符,当正则表达式指定为源代码中的文字字符串时,这可能会导致行为上的明显差异,而与从文件读取或从用户输入接收的正则表达式相比则没有差异。例如,JavaScript 的 string.replace() 函数不支持任何这些转义符。但 JavaScript 语言确实支持字符串字面量中的转义符,如 \n、\x0A 和 \u000A。因此,在 JavaScript 中开发应用程序时,只有当您将替换文本作为字符串字面量添加到源代码时,\n 才被解释为换行符。然后,JavaScript 解释器会转换 \n,而 string.replace() 函数会看到一个实际的换行符。如果您的代码从文件中读取相同的替换文本,那么 string.replace() 函数会看到 \n,它将其视为一个反斜杠和一个 n。
页面 URL:https://regexper.cn/replacenonprint.html
页面上次更新时间:2019 年 11 月 22 日
网站上次更新时间:2024 年 3 月 15 日
版权所有 © 2003-2024 Jan Goyvaerts。保留所有权利。