emacs regexp用“11”代替11

时间:2012-01-10 14:44:56

标签: emacs

我有一堆C整数数组初始化代码,例如

int a[] = {11,22,33,44};

我想改成字符串,例如

char *a[] = {"11","22","33","44"};

我可以使用reg exp这样做吗? e.g。

M-x replace-regexp RET
Replace regexp: [0-9] RET
Replace regexp with: "[0-9]" RET

1 个答案:

答案 0 :(得分:6)

您可以执行以下操作:

M-x query-replace-regexp
Query replace regexp: \([0-9]+\)
Query replace regexp \([0-9]+\) with: "\1"

[0-9]+匹配一个或多个连续数字。转义的括号\(\)将内容设为一个组。替换字符串中的\1将替换为查询中第一组转义括号之间匹配的内容。

感谢choroba在评论中提醒您,您通常可以C-M-%使用query-replace-regexp