C语言 Emacs regexp增加/减少数组索引



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

。对于一些C代码更改:

int my_array[4];
my_array[0] = 1;
my_array[1] = 2;
my_array[2] = 3;

:

int my_array[4];
my_array[1] = 1;
my_array[2] = 2;
my_array[3] = 3;

一种用[i+1]代替[i]的操作?

是这样吗?

   M-x query-replace-regexp my_array[([0-9]+)] RET my_array[,(1+ #1)]

,在replacement string中可以被任何lisp表达式替换。

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

increment:

M-x query-replace-regexp [([0-9]+)] RET [,(1+ #1)]

递减:

M-x query-replace-regexp [([0-9]+)] RET [,(1- #1)]

最新更新