[英]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
提示符( rgrep
, occur
,...)
在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.