Notepad++ 在记事本中搜索和替换多个单词++;

Notepad++ 在记事本中搜索和替换多个单词++;,notepad++,Notepad++,有人知道如何在记事本++中同时替换几个不同的单词吗 比如, 我有“好”、“好”和“好”,我想用“坏”、“坏”和“不”来代替它们 我知道我可以一个接一个地替换它们,但我面临的问题要求我替换很多单词,这不方便。尝试用正则表达式替换(good)|(great)|(fine)(?1bad)(?2bether)(?3not) 搜索将查找由|分隔的三个备选方案中的任意一个。每个备选方案都有自己的捕获括号。replace使用条件形式?Ntrue expression:false expression,其中N是

有人知道如何在记事本++中同时替换几个不同的单词吗

比如,

我有“好”、“好”和“好”,我想用“坏”、“坏”和“不”来代替它们


我知道我可以一个接一个地替换它们,但我面临的问题要求我替换很多单词,这不方便。

尝试用正则表达式替换
(good)|(great)|(fine)
(?1bad)(?2bether)(?3not)

搜索将查找由
|
分隔的三个备选方案中的任意一个。每个备选方案都有自己的捕获括号。replace使用条件形式?Ntrue expression:false expression,其中N是十进制数字,该子句检查捕获表达式N是否匹配

在Notepad++6.3中测试

更新:

您可以找到关于新PRCE常规的良好文档 自6.0版以来,N++在两个地址处使用的表达式 下:

第一个涉及搜索中正则表达式的语法

第二个问题涉及到中正则表达式的语法 替换

而且,如果你能理解“书面法语”,我做了一个关于 PCRE正则表达式,存储在Christian的个人网站中 Cuvier(cchris),地址如下:

(摘自TheVenotGuy的帖子)

从插件管理器安装插件

创建一个包含替换的文件(例如C:/Temp/substitutions.txt),用空格分隔值: 创建新脚本:
对要替换的文本运行新脚本。如果您一直在替换多个不同文件中的相同单词,则在使用时记录您的操作并将其保存为宏将非常有用*记事本+

我需要在几个文件上运行替换

因此,根据作者的回答,我创建了以下脚本

with open('C:/Temp/Substitutions.txt') as f:
    files = notepad.getFiles()
    for file in files:
        notepad.activateFile(file[0]) 
        for l in f:
            s = l.split()
            editor.replace(s[0], s[1])
        f.seek(0) # reset file input stream

我四处寻找一些可以同时替换多个术语的软件,Notepad++有一个字符限制(替换字段中的字符限制为2046个),因此我决定用HTML制作自己的替换版本,网站如下:

window.onload=function(){
$(“textarea,输入[type='text'])。焦点(函数(){$(this.select();});
}
函数替换(){
//获取配置
设separatedBy=newregexp($(“#separatedBy”).val();
让useRegex=$(“#useRegex”).prop(“选中”);
设isCaseSensitive=$(“#区分大小写”).prop(“选中”)?:“i”;
//获取“查找”和“替换”
让find=$('#find').val().split(separatedBy);
让replace=$('#replace').val().split(separatedBy);
//使结果相等
$(“#result”).val($(“#original”).val());
//在每个“查找”项目中运行

for(i=0;我可以很好地进行简单搜索和替换。如果要替换的对象是正则表达式本身,则不起作用。@就这个问题而言,简单搜索替换就足够了。正则表达式搜索替换可以通过使用
editor.rereplace(s[0],s[1])来实现
取而代之。或者更好的
编辑器.pyreplace
来充分利用Python正则表达式的支持。酷!现在我明白了。谢谢:)如何在notepad++中跨多个文件运行此Python脚本?太棒了!你能添加源代码吗?我在文档中找不到。我经常使用notepad++的regex replace,我很好奇是否可以获得更多真正有用的很酷的东西。谢谢:)索引从0开始在6.4.5中对我来说太棒了不知道这一点,请使用notepad++for regex不断替换。这太棒了!但是,你知道如何让它在下一次搜索/替换时使用上一次搜索/替换的输出吗?我认为这就是它所做的,因为|,但它不是。谢谢!这真的很有帮助。对于16个单词的列表来说效果很好。“所以我决定制作自己的替换版本”…那是我的偶像..很好地编码、共享和闪耀。(:为什么要用javascript代码回答记事本++的问题?这应该是另一个问题的答案。记事本++仅限于此,不简单也不实用,而且我在其他任何地方也找不到一个简单的方法来做这件事,即使当时我在这里寻找这个答案。所以我为这个人的问题提供了一个简单的解决方案,也许吧ps许多其他的,这是如何替换几个文本,你甚至不必看代码。
with open('C:/Temp/Substitutions.txt') as f:
    for l in f:
        s = l.split()
        editor.replace(s[0], s[1])
with open('C:/Temp/Substitutions.txt') as f:
    files = notepad.getFiles()
    for file in files:
        notepad.activateFile(file[0]) 
        for l in f:
            s = l.split()
            editor.replace(s[0], s[1])
        f.seek(0) # reset file input stream