ultraedit 查找引用并替换

ultraedit find quote and replace

我有一行看起来像这样:

'ABCD','ABKCKD','ADFL','3','43

在 UltraEdit 中,我试图找到 '3','并将其替换为 3, 我试图找到 ['][\d]+['][,]['] 并找到 '3','

但是,当我尝试将其替换为 [\d]+[,], 时,它不起作用。

有什么想法吗?

谢谢。

您首先需要捕获引号之间的数字,您可以像这样使用捕获组 ():

'([\d]+)','

然后使用 ^1 使用捕获的数字,这样您的替换将是:^1,

Ultraedit 正则表达式用法 reference

UltraEdit 支持 3 种不同的正则表达式引擎:

  • Perl ...使用 Boost Perl 正则表达式库的最强大的正则表达式引擎。
  • UltraEdit ... UltraEdit 的原生正则表达式引擎,语法类似于 Microsoft Office。
  • Unix ... 具有 Perl 正则表达式语法(或多或少)的 UltraEdit 正则表达式引擎。

IDM 强大提示 tagged expressions 解释了 marking/capturing/tagging 组在 运行 和 UltraEdit 正则表达式替换上的用法。

IDM 高级提示 Perl regular expressions: Backreferences 解释了 marking/capturing 组在 运行 Perl 正则表达式替换中的用法。此语法也可用于功能有限的遗留 Unix 正则表达式引擎。

[...]定义一个字符class/set,即一个字符列表。可以或必须找到方括号内的任何字符以进行肯定搜索。对于像 ', 这样的单个字符,使用字符集没有多大意义。可以使用 ['][\d]+['][,]['],但用作搜索字符串 '\d+','.

更容易

请注意 Unix/Perl 正则表达式搜索字符串中的转义序列 \d 任意数字 UltraEditUnix/Perl 正则表达式搜索字符串中的等价物是 [0-9].

替换可以使用搜索字符串 '^([0-9]+^)',' 完成,替换字符串 ^1,' 使用 UltraEdit 正则表达式引擎。

替换可以使用搜索字符串 '(\d+)',' 完成,并在使用 UnixPerl[=64= 时替换字符串 ,' ] 正则表达式引擎。

使用 Perl 正则表达式引擎也可以使用替换搜索字符串 '(\d+)'(?=,') 替换字符串 因为 [=24] =] 指定为正数 lookahead,不包含 match/select 个字符。