有没有现成的软件包可以在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. 输入第一个组的替换内容
3. 输入第二个组的替换内容
query-replace-regexp
。 - event_jr