簡體   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