0

我需要一种方法来使用EmEditor的内置 Regex++(John Maddock 博士的 1.57 版)在文件中的每一行用“n”替换所有字符“y”和“r”,除了以“>”开头的行。这种正则表达式风格仅支持固定长度的后视,也没有针对正则表达式的所有高级 .NET 增强功能。

这是一个示例输入文件:

> A header containing "y" and "r"    
tttttrtagggaar-rrgatctg--gcctrtcc---cacyaayygggayyyaggc

这是替换的期望结果:

> A header containing "y" and "r"  
tttttntagggaan-nngatctg--gcctntcc---cacnaanngggannnaggc

能够在一个步骤中执行此类替换将是理想的。但目前我完全坚持寻找两步或基于脚本的解决方案(EmEditor允许编写 Windows Scripting Host 宏)。我知道我可以使用 regex 找到所有未注释的行^(?!>).*$,但还没有找到一种方法来选择它们以执行替换r|y→仅在选择中(使用“替换”对话框n中的相应选项)。

有没有办法用 EmEditor 实现这一点?

4

1 回答 1

0

由于 EmEditor 默认的正则表达式引擎是 Boost,你可以这样做:

寻找:^>.*|([yr])

用。。。来代替:(?1:n:$0)

注意:多线模式应该打开。

于 2017-12-03T16:21:50.647 回答