我有一个包含纯文本(没有 html 标签等)的大文件。我想要做的是一方面将正则表达式应用于整个文件,另一方面我想选择要应用哪些更改。
例如,如果我有一个像 /house/ -> home 这样的正则表达式,我希望看到某种预览并决定它将应用于哪些情况,例如第一次和第三次。
我需要的编辑器不仅显示更改预览(类似 powergrep 编辑器 (powergrep.com)),还允许我选择要应用哪些更改。我举一个简单的例子。我想更改整本书《爱丽丝梦游仙境》中的单词 Alice,但第 55 页上第一次出现的单词除外。当然,我可以全部替换,然后更改第 55 页上的这个单词,但这不是我想要的。
答案1
好吧,如果你同意vim
,你可以像这样进行交互式搜索和替换
:%s/house/home/gc
这将在将正则表达式替换应用于每次出现之前提示您。
答案2
这Netbeans IDE有这个功能 - 正则表达式替换预览。虽然在这里使用这么重的东西似乎有点过头了。
更新
该功能称为在项目中替换。 去编辑->在项目中替换或按CTRL + SHIFT + H
。
选择浏览在范围部分 - 它将允许您浏览所需的文件。现在按“查找”。您将获得预览:
选择要替换的出现项,然后按替换 X 个匹配项。
答案3
答案4
必备的 emacs 插件:在 emacs(或 xemacs,个人最爱)中,您可以运行query-replace-regexp
,它将提示输入正则表达式和替换,并询问每个实例。M-C-%
这里默认绑定到。有一个不错的蘇格蘭Windows 版本也是如此。