我需要一种方法在文件的每一行上用“n”替换所有字符“y”和“r”除了以“>”开头的行使用EmEditor的内置Regex ++(John Maddock博士的1.57版本)。这个正则表达式的风格supports只有固定长度的后台,并且没有正则表达式的所有高级.NET增强功能。
以下是输入文件的示例:
> A header containing "y" and "r"
tttttrtagggaar-rrgatctg--gcctrtcc---cacyaayygggayyyaggc
这是更换的理想结果:
> A header containing "y" and "r"
tttttntagggaan-nngatctg--gcctntcc---cacnaanngggannnaggc
能够在一个步骤中执行此类更换是理想的。但目前我完全坚持找到一个两步或基于脚本的解决方案(EmEditor allows writing Windows Scripting Host macroses)。我知道我可以使用正则表达式^(?!>).*$
找到所有未注释的行,但是没有找到一种方法来选择它们,以便仅在选择中执行替换r|y
→n
(使用"Replace" dialog中的相应选项)。
有没有办法用EmEditor实现这一目标?
答案 0 :(得分:0)
由于EmEditor默认的正则表达式引擎是Boost,你可以这样做:
查找:^>.*|([yr])
替换为:(?1:n:$0)
注意:应该打开多行模式。