2013-02-27 68 views
3

在Emacs 24.2.1中,我想向后搜索不是方括号的第一个字符,即]字符。例如,如果我在这一行的末尾:Emacs Lisp:“除了方括号外的任何内容”的正则表达式?

123]4567 

我希望点移动到“7”。

我第一次尝试是:

(re-search-backward "[^\]]" nil nil nil) 

迁至点到 “3”。

虽然它们看起来与文件相冲突,我也尝试了这些:

(re-search-backward "[^\\]]" nil nil nil) 
(re-search-backward "[^\\\]]" nil nil nil) 
(re-search-backward "[^\\\\]]" nil nil nil) 

什么是正确的正则表达式?

+1

你刚试过'[^]]'吗?似乎违反直觉,但它似乎工作。 – 2013-02-27 19:41:33

+0

你的第一次尝试为我膨胀...... – 2013-02-27 19:42:09

回答

7
(re-search-backward "[^]]") 

适用于Emacs 22.2.50.1。

您不必在方括号内跳出右括号,您只需将其设置为该集合中的第一个字符(因为空集合没有意义)。

+0

谢谢你,巴尔玛。 – user100464 2013-02-27 19:49:57