I've been playing around with emacs lisp, and I wanted to write a little function to do a regular expression search and replace. I had a heck of a time getting the regular expression to work correctly because I didn't realize that all the special characters need to be double escaped when writing lisp code (but not when using query-replace-regexp interactively!).
So for example, using query-replace-regexp interactively you can use
^(.*)[]-.*$
but when writing elisp code you need to double escape everything like so:
^\(.*\)[]-.*$
I finally found a reference to this in a Steve Yegge article, but I was wondering if anyone knew why this is?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…