2013-02-27 65 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