Emacs Lisp:“除了方括号外的任何内容”的正则表达式?
问题描述:
在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)
什么是正确的正则表达式?
答
(re-search-backward "[^]]")
适用于Emacs 22.2.50.1。
您不必在方括号内跳出右括号,您只需将其设置为该集合中的第一个字符(因为空集合没有意义)。
+0
谢谢你,巴尔玛。 – user100464 2013-02-27 19:49:57
你刚试过'[^]]'吗?似乎违反直觉,但它似乎工作。 – 2013-02-27 19:41:33
你的第一次尝试为我膨胀...... – 2013-02-27 19:42:09