2012-01-10 40 views
0

我有一堆C整數數組初始化代碼,例如,emacs regexp用「11」取代11

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

我想更改爲字符串,例如,

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

是否有reg exp我可以用它來做到這一點?例如

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

回答

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

+0

是一個剪切和粘貼錯誤? +意味着多重發生? \ 1必須表示匹配的字符串的值? – bph 2012-01-10 14:53:11

+1

並且'query-replace-regexp'通常綁定到'C-M-%'。 – choroba 2012-01-10 14:54:46

+1

我已經更新了我的答案來解釋更多。 – 2012-01-10 14:55:52