繁体   English   中英

emacs regexps中的OR运算符是什么?

[英]What is the OR operator in emacs regexps?

手册说要使用'\\ |',因为在\\ | b中匹配a或b。 但是当我使用regexp builder或align-regexp例如“True \\ | False”时,它不会识别“True”或“False”。 我收到以下消息:

Wrong argument type: integer-or-marker-p, nil

我究竟做错了什么?

使用双重转义: \\\\|

一些附加说明:

Emacs有2个转义样式,一个在EmacsLisp中,另一个在命令中使用时,
即。 Mx提示符( rgrepoccur ,...)

在EmacsLisp中,使用双反斜杠\\\\|

...

Mx …使用单个反斜杠\\|

...作为旁注,在编写嵌入式EmacsLisp时,例如在yasnippet动态扩展中,您必须使用四重反斜杠: \\\\\\\\| (逃避双反斜杠。)

总是避免这种情况(如果可能的话),例如在yasnippet中,您可以通过.yas-setup.el提供与模式相关的emacslisp,而无需额外的转义。

有关详细信息,请参阅elisp手册第34.3.1.1节“正则表达式中的特殊字符”中对'\\'和字符串的讨论

M- :( (info "(elisp) Regexp Special") RET

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM