Show/Hide Toolbars

EmEditor 帮助

导航: EmEditor 帮助 > 如何... > 搜索

EmEditor 如何: 替换表达式语法

Scroll 上一页 首页 下一页 其他
EmEditor 主页 - EmEditor 帮助 - 如何 - 搜索

替换表达式语法

当用正则表达式或数字范围取代时,可以用替换表达式。

下列表达式是可用于替换对话框以及在文件中替换对话框中的替换为文本框内。

\0

把整个正则表达式作为指定为向后引用。

\1 - \9

指定一个向后引用 - 一个向后引用是上一个被匹配的子表达式的引用。引用的内容是与子表达式相匹配的内容,而不是表达式本身。一个向后引用由转义符 "\" 加一个 "1" 到 "9" 的数字组成。"\1" 指的是第一个子表达式,"\2" 是第 2 个,以此类推。

$10, $11, $12, ...

表示超过 9 个的向后引用。相当于 \k<10>,\k<11>,\k<12>,...。

\k<name>

表示一个已命名的向后引用。已命名的向后引用是用以下形式引用之前匹配的已命名的捕获组:(?<name>expression)。如果 "name" 是一个数字,则它表示一个已编号的向后引用,相当于 \1,\2,\3,...。

\n

一个换行符。

\r

在文件中替换表示一个回车符。请参考指定换行符

\t

一个 tab。

\L

强制所有后续替换字符要小写。

\U

强制所有后续替换字符要大写。

\H

强制所有后续替换字符要是半角字符。

\F

强制所有后续替换字符要是全角字符。

\E

关闭之前的 \L,\U,\F 或 \H。

\J

指定表达式使用 JavaScript。\J 必须放在替换表达式的开头。可以与反向引用结合使用。还可以在脚本中使用 cell 函数。例如,

替换表达式

含义

\J "\0" + "abc"

合并匹配字符串与 "abc"

\J "\0".substr( 0, 5 );

返回匹配字符串的前 5 个字符

\J \0 * 100;

将匹配的数字乘以 100

\J parseFloat( \0 ).toFixed(2);

将匹配的数字四舍五入到小数点后 2 位

\J cell( -1 )

返回位于匹配单元格左侧相邻单元格中的文本

\J parseFloat( cell( -1 ) ) + parseFloat( cell( -2 ) )

返回左侧两个相邻单元格的总和

(?Ntrue_expression:false_expression)

如果匹配子表达式 N,则评估 true_expression 并将其发送到输出,否则评估 false_expression 并将其发送到输出。例如,(?1foo:bar),如果匹配子表达式 \1,会用 foo替换每个匹配,反之则用 bar。另外,您也可以用这种方式写该表达式:(?{1}foo:bar)

$(Path)

文件路径。

$(Dir)

文件目录。

$(Filename)

不带扩展名的文件名。

$(FilenameEx)

带扩展名的文件名。

$(Ext)

扩展名。

$(Lines)

行数(不能用于在文件中替换)。

$(CsvColumns)

CSV 列数(不能用于在文件中替换)。

cell 函数 (beta)

如果指定了\J,则可以在 JavaScript 中使用cell函数。此函数检索指定 CSV 单元格中的文本。

[JavaScript]

str = cell( iColumn [, yLine [, flags ] ] );

参数

iColumn

指定要检索的文本的列的索引,以从当前位置出发的相对位置表示,除非在 flags 中指定了 8。

yLine

指定要检索的文本的行号,以从当前位置出发的相对位置表示,除非在 flags 中指定了 8。 如果省略,则指定 0。

flags

指定以下值的组合。0,1 和 2 不能一起使用。如果省略,则指定 1。

0

返回的文本可以不包括包围的双引号或分隔符。

1

返回的文本可以包括包围的双引号但不包括分隔符。

2

返回的文本可以包括包围的双引号和分隔符。

8

iColumn yLine 参数以 1 为基础的绝对值表示。

注意

EmEditor 中没有当前 JavaScript/ECMAScript 中的许多新方法。替换表达式使用 Chakra(相当于 Microsoft Edge Legacy),并且最多支持到 ECMAScript 5.1,因此不支持 ECMAScript 5.1 之后引入的新方法。

请同样参考

正则表达式语法

Copyright © 2003-2021 by Emurasoft, Inc.