1

我对 Emacs 中的正则表达式有疑问。
例如,有一个字符串:
abcdef def

我想写一个只匹配'abc'之后的'def'的正则表达式。也就是说,我只想捕获'abcdef',而不是'def。
我希望这个点可以位于'abc'和'def'之间,比如'abc^def'。( ^ 代表点)
我记得在 Perl 中有一种方法可以做到这一点,但我不确定它在 ELISP 中是否可行。

4

1 回答 1

3
(defun foo ()
  (when (re-search-forward "abc\\(def\\)" nil nil)
    (goto-char (match-beginning 1))))

但实际上你应该阅读 Emacs Lisp 中的正则表达式匹配——在 Elisp 手册中,从 node 开始Regular Expressions。在不先寻找答案的情况下发布这样一个基本问题几乎没有任何借口,你自己。

StackOverflow 用于提出和回答编程问题,您应该清楚地说明问题,显示您已经用来尝试解决它的代码,说出您的代码做了您不希望的事情等。

一般而言,人们乐于提供帮助,但希望寻求帮助的人付出最少的努力。

于 2013-09-25T02:19:36.763 回答