【发布时间】:2010-10-07 00:48:22
【问题描述】:
我一直在使用 emacs lisp,我想编写一个小函数来进行正则表达式搜索和替换。我花了很长时间让正则表达式正常工作,因为我没有意识到在编写 lisp 代码时所有特殊字符都需要双重转义(但在交互式使用 query-replace-regexp 时不需要!)。
因此,例如,以交互方式使用 query-replace-regexp,您可以使用
^\(.*\)[\t]-.*$
但是在编写 elisp 代码时,您需要像这样对所有内容进行双重转义:
^\\(.*\\)[\t]-.*$
我终于在 Steve Yegge article 中找到了对此的引用,但我想知道是否有人知道这是为什么?
【问题讨论】: