是否有一个现有的包以子表达式为目标进行替换
query-replace-regexp
?
例如给出以下
var foo1 = blah( properties, property_id);
var foo2 = blah(properties, property_id );
var foo3 = blah( properties, property_id );
我想移除大括号周围的填充物。
通常,方法是将要保留的位子分组并组装替换。
搜索:
\(var .* = blah\s-*(\)\s-*\(.*?\)\s-*\()\)
代替:
\1\2\3
但是,使用正则表达式对我要删除的位进行分组似乎比其他方式更容易。像这个:
var .* = blah\s-*(\(\s-*\).*?\(\s-*\))
我会从中得到两个子组。如何定位它们进行替换?
编辑:我要求一种交互式方式来“反转”给定的正则表达式。所以界面类似于query-replace-regexp
- 输入正则表达式
- 输入第 1 组的替换
- 输入第 2 组的替换