在Emacs Lisp中使用查看

时间:2014-07-16 12:36:53

标签: emacs elisp

我正在尝试替换一些以点开头并以点或等号结尾的文本。例如a.test=3。我想用a['test']=替换它(从Matlab转换为Python)。

我测试了Emacs Lisp中的looking-at函数:

(defun test-la ()
  (interactive)
  (when (looking-at "\\.\\(.*?)\\)[=.]")
    (message "ok")))

但是当点在点上时,它没有显示"ok" ..

2 个答案:

答案 0 :(得分:4)

我自己从不使用它,但很多人发现re-builder对于编写正则表达式非常有用。另一种选择是使用rx,它使用Lisp-ish语法,这种语法不那么简洁,但也不那么神秘。

答案 1 :(得分:3)

你的正则表达式中有一个额外的括号。您目前拥有的那个匹配a.test)=3。试试这个:

(looking-at "\\.\\(.*?\\)[=.]")