将正则表达式应用于某些情况

将正则表达式应用于某些情况

我有一个包含纯文本(没有 html 标签等)的大文件。我想要做的是一方面将正则表达式应用于整个文件,另一方面我想选择要应用哪些更改。

例如,如果我有一个像 /house/ -> home 这样的正则表达式,我希望看到某种预览并决定它将应用于哪些情况,例如第一次和第三次。

我需要的编辑器不仅显示更改预览(类似 powergrep 编辑器 (powergrep.com)),还允许我选择要应用哪些更改。我举一个简单的例子。我想更改整本书《爱丽丝梦游仙境》中的单词 Alice,但第 55 页上第一次出现的单词除外。当然,我可以全部替换,然后更改第 55 页上的这个单词,但这不是我想要的。

答案1

好吧,如果你同意vim,你可以像这样进行交互式搜索和替换

:%s/house/home/gc

这将在将正则表达式替换应用于每次出现之前提示您。

答案2

Netbeans IDE有这个功能 - 正则表达式替换预览。虽然在这里使用这么重的东西似乎有点过头了。

更新

该功能称为在项目中替换。 去编辑->在项目中替换或按CTRL + SHIFT + H
在项目视图中替换
选择浏览范围部分 - 它将允许您浏览所需的文件。现在按“查找”。您将获得预览:
替换预览
选择要替换的出现项,然后按替换 X 个匹配项

答案3

如果你不熟悉 vim ;),你可以尝试例如TED 记事本(我最喜欢的,简洁但功能很多),程序员的记事本(适用于 Windows)或kate(Linux/KDE)。但是,我认为没有预览更改...

答案4

必备的 emacs 插件:在 emacs(或 xemacs,个人最爱)中,您可以运行query-replace-regexp,它将提示输入正则表达式和替换,并询问每个实例。M-C-%这里默认绑定到。有一个不错的蘇格蘭Windows 版本也是如此。

相关内容