我有几个正则表达式可以正常使用Emacs的交互式搜索。他们是“^ \”。和“^#”。他们在行的开头搜索句点和哈希值。
我正在尝试编写一个在线上搜索这些正则表达式的交互式函数,但我失败了。我的功能是
(defun line-contains (regexp)
"Return true if the current line contains the passed regular expression."
(save-excursion
(beginning-of-line)
(search-forward-regexp regexp (point-at-eol) t)))
当我打电话
((or (line-contains "^\.")
(line-contains "^#"))
在以下一行
if ($default)
即使该行与交互式搜索调用时的正则表达式不匹配,它也会返回true。我不确定我做错了什么。
答案 0 :(得分:3)
你必须转义字符串文字中的反斜杠,比如
((or (line-contains "^\\.")
(line-contains "^#"))