Emacs regexp增加/减少数组索引

bph*_*bph 4 c arrays indexing emacs

是否可以使用正则表达式来改变emacs中的数组索引?

例如,对于某些C代码更改:

int my_array[4];
my_array[0] = 1;
my_array[1] = 2;
my_array[2] = 3;
Run Code Online (Sandbox Code Playgroud)

至:

int my_array[4];
my_array[1] = 1;
my_array[2] = 2;
my_array[3] = 3;
Run Code Online (Sandbox Code Playgroud)

排序的替换[i][i+1]操作?

Rém*_*émi 11

那样的东西?

   M-x query-replace-regexp my_array\[\([0-9]+\)\] RET my_array[\,(1+ \#1)]
Run Code Online (Sandbox Code Playgroud)

\,替换字符串可以替换为任何lisp表达式.

(最后编辑:\#1代替使用(string-to-int \1))