【发布时间】:2011-05-25 11:49:52
【问题描述】:
手册说使用'\|',因为a\|b 匹配a 或b。但是当我将它与 regexp builder 或 align-regexp 一起使用时,例如带有“True\|False”,它不能识别“True”或“False”。我收到以下消息:
Wrong argument type: integer-or-marker-p, nil
我做错了什么?
【问题讨论】:
-
你确定你应该使用
\|而不是|吗? -
发生了一些奇怪的事情,因为如果你尝试 True\|False 与 highlight-regexp 它可以工作。在 regexp-builder 中它没有。也许在看起来很蹩脚的构建器中组和或不工作。
-
我不认为正则表达式是你的问题。发布 emacs lisp。
-
我发现与 @justinhj 的 emacs-version 21.3.1 (x86_64-redhat-linux-gnu) 相同
-
发布您遇到问题的确切命令序列,或复制粘贴您尝试使用的 Lisp 代码(我什至不知道是哪个!)。 “或”运算符是
\|。字符串和正则表达式在 Emacs Lisp 中是正交的,所以如果你把一个正则表达式放在一个字符串中,你需要写例如"True\\|False".