我也有類似的問題,在Case變換
Emacs: regular expression replacing to change case
我想使用Emacs的文件瀏覽器模式Dired重命名文件從08 - hey you.mp3
來解決08 - Hey you.mp3
。
I型% R
以取代\1\,(upcase \2)\3
^\([0-9]* - \)\([a-z]\)\(.*\)$
,我得到一個錯誤
Invalid use of `\' in replacement text
當我查詢替換,正則表達式相似的正則表達式\([0-9]* - \)\([a-z]\)\(.*\)
通過\1\,(upcase 2)\3
在一個普通的文本緩衝區我沒有問題。唯一的輸入差異是圍繞^
和$
,這是需要在http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#Transforming-File-Names解釋,但錯誤的來源似乎是\,(upcase)
,這似乎不可用於Dired,因爲我沒有這個錯誤,當我使用例如\1\3\2
作爲替換正則表達式。
我在結束調用來自dired-string-replace-match
replace-match
dired電話dired-do-rename-regexp
使用Emacs 23.2.1