我想在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