Regex emacs lisp中的正则表达式问题

Regex emacs lisp中的正则表达式问题,regex,emacs,elisp,Regex,Emacs,Elisp,我对Emacs中的正则表达式有疑问。 例如,有一个字符串: abcdef def 我想写一个只匹配'abc'后面的'def'的正则表达式。也就是说,我只想捕捉“abcdef”,而不是“def”。 我希望该点可以位于“abc”和“def”之间,比如“abc^def”。(^代表点) 我记得有一种方法可以在Perl中实现,但我不确定它在ELISP中是否可行 (defun foo () (when (re-search-forward "abc\\(def\\)" nil nil) (got

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

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

(defun foo ()
  (when (re-search-forward "abc\\(def\\)" nil nil)
    (goto-char (match-beginning 1))))
但实际上,您应该阅读Emacs Lisp中的regexp匹配——在Elisp手册中,从node
正则表达式开始。没有什么理由不先自己寻找答案就发布这样一个基本的问题

StackOverflow用于提出和回答编程问题,您需要清楚地说明问题,显示您已尝试解决问题的代码,说出您的代码所做的您不期望的事情,等等


一般来说,人们很乐意提供帮助,但请求帮助的人需要付出最少的努力。

注意,Emacs regexp没有零宽度的前/后向断言,这很可能是您所想到的Perl regexp功能。非常感谢@Drew,这就是我想要的。我是一个elisp新手,:)谢谢你的建议作为一个新手没问题。至少在某些领域,我们都是Elisp的新手。请务必阅读一点手册部分,即使你觉得它很沉重。这非常有用,在Emacs中“获取”regexp将极大地提高您对它的使用(以及您使用它的乐趣)。