Regex 如何仅替换记事本++;在多个文件中?
我正在更新一个网站,只做了一些更改,我已经使用标准的查找和替换搜索对多个文件进行了大部分更改。我的f/r只剩下一个错误需要修复,但在整个文档中它会出现多次,我只想替换第一个实例,这是唯一一次错误Regex 如何仅替换记事本++;在多个文件中?,regex,notepad++,replace,Regex,Notepad++,Replace,我正在更新一个网站,只做了一些更改,我已经使用标准的查找和替换搜索对多个文件进行了大部分更改。我的f/r只剩下一个错误需要修复,但在整个文档中它会出现多次,我只想替换第一个实例,这是唯一一次错误 </div><div class="boxb"> 这在每个文件中都会发生七次,仅在第一次需要删除尾随的结束DIV时发生。其他所有操作都是正确的 我想我需要使用正则表达式模式,但我已经尝试了几个示例,它们要么不起作用,要么仍然替换所有出现的情况,而不仅仅是我需要的第一个 同
</div><div class="boxb">
这在每个文件中都会发生七次,仅在第一次需要删除尾随的结束DIV时发生。其他所有操作都是正确的
我想我需要使用正则表达式模式,但我已经尝试了几个示例,它们要么不起作用,要么仍然替换所有出现的情况,而不仅仅是我需要的第一个
同样要明确的是,我不知道这是否有区别,但我需要对多个文件执行此操作,因此使用“在文件中查找”而不仅仅是“替换”
谢谢您提供的文本似乎是固定的,因此不需要正则表达式来查找它。在文件中查找的替换部分将替换每个文件中出现的所有内容。假设文件数量不是很大,我建议使用查找文件上的查找所有按钮,然后逐个手动更改它们。如果文件数量很大,那么记事本++可能不是进行更改的最佳工具
对于其他选项,考虑Perl或AWK等程序;有了这些,任务就简单了。一种方法是匹配文件的全部内容,然后替换掉仍然需要保留的部分。这将确保整个文件生成正好1个匹配项。此方法尚未测试,但在大文件上可能会比较慢
(.*)
,在后面添加(.*)
:
(.*?)pattern(.*)
您应该在一些文件上使用(.*)模式进行测试,以确保它与要删除的文本的第一个实例匹配
匹配换行符”模式
匹配的任何内容,请使用$1$2
作为替换字符串文件的数量大约是150,所以不,不是我想手动做的事情,这就是为什么我首先用F+R进行更改的原因。如果有人能教我如何使用其他程序,我愿意使用其他程序,但使用Notepad++肯定是可行的?我可能应该说我没有使用正则表达式的经验,我只是在认为可能需要时才提到它。