0

我正在通过一些更改来更新网站,并且我已经设法使用标准查找和替换搜索对多个文件进行了大部分更改。我的 f/r 只剩下一个错误需要修复,但它在整个文档中发生了多次,我只想替换第一个实例,这是唯一一次出现错误。

 </div><div class="boxb">

这在每个文件中发生七次,只有第一次我需要删除尾随的关闭 DIV。其他都是正确的。

我收集我需要使用正则表达式模式,但我尝试了一些示例,它们要么不起作用,要么仍然替换所有出现,而不仅仅是我需要的第一个。

另外要明确的是,我不知道它是否有区别,但我需要对多个文件执行此操作,因此使用“在文件中查找”而不仅仅是“替换”。

谢谢

4

2 回答 2

2

一种方法是匹配文件的全部内容,然后替换回您仍要保留的部分。这确保了整个文件恰好产生 1 个匹配项。此方法尚未经过测试,但在大文件上可能会很慢。

  1. 只需照常编写您的正则表达式,然后(.*?)在前面和(.*)后面添加:

    (.*?)pattern(.*)
    

    您应该(.*?)pattern对一些文件进行测试,以确保它与您要删除的文本的第一个实例相匹配。

  2. 选中复选框.匹配换行符”

  3. 替换字符串可能因您的正则表达式而异,但其想法是捕获您想要保留在步骤 1 的正则表达式中的部分,并在此步骤中将它们替换回来。

    例如,如果要删除任何匹配的内容pattern,则将其$1$2用作替换字符串。

于 2013-04-06T12:26:46.420 回答
0

您提供的文本似乎是固定的,因此不需要正则表达式即可找到它。Find in files的替换部分替换每个文件中的所有匹配项。假设文件数量不大,我建议使用Find in files上的Find all按钮,然后手动一一更改。如果文件数量很大,那么 Notepad++ 可能不是进行更改的最佳工具。

对于其他选项,请考虑 Perl 或 Awk 等程序;有了这些,任务就很简单了。

于 2013-04-06T10:47:48.823 回答