我想在Emacs中建立一個正則表達式來清理我的R代碼。Regexp Emacs的R評論
一個我遇到的問題是,有不同類型的註釋: 你有那些有一定量的空白(1),例如:
# This is a comment:
# This is also a comment
,或者你有這樣的情況下( 2):
require(lattice) # executable while the comment is informative
的想法是,我要對齊的意見時,他們是第二類(的東西是可執行文件後),同時排除那些第一類。
理想情況下,它將對齊第一類的所有評論,但不包括第一類評論。
例子:
funfun <- function(a, b) {
# This is a function
if (a == b) { # if a equals b
c <- 1 # c is 1
}
}
#
要:
funfun <- function(a, b) {
# This is a function
if (a == b) { # if a equals b
c <- 1 # c is 1
}
}
#
我發現了一個正則表達式做那些第一類的替代品,所以後來我能夠將它們對齊每個段落(mark-段)。這種工作很好。
問題是,則回代:
(replace-regexp "^\\s-+#+" "bla" nil (point-min) (point-max))
這代替從行的開頭,有空白的任何量和類似的註釋字符的任何量:
#########
成
bla
問題是我想將它們重新放回原來的位置最後,所以「bla」必須回到相同數量的空白和相同數量的#中。
希望有人能夠理解我正在嘗試做什麼,並有一個更好的方法或知道如何解決這個正則表達式部分。
我很難理解你問,究竟是什麼。你想用一些文本替換最初的空格和註釋標記,然後對該行執行轉換,然後恢復空白和註釋標記? – user4815162342
@wvxvw我得到你wvxcw。只是我意識到只有兩種評論。所以這是阻止製作腳本來清除任何用戶需求的唯一問題! – PascalVKooten
@ user4815162342我實際上只是想暫時改變這些類型(1)的註釋,以排除它們對齊每個段落的第二種類型。 – PascalVKooten