The manual says to use \'\\|\', as in a\\|b matches a or b. But when I use it with regexp builder or align-regexp e.g. with, \"True\\|False\", it doesn\'t recognize \"True\" or
For further details, see the discussion of '\'
and strings in the elisp manual section 34.3.1.1 "Special Characters in Regular Expressions"
M-: (info "(elisp) Regexp Special")
RET
\\|
A Few Additional Notes:
Emacs has 2 escaping styles, one in EmacsLisp the other when used in commands,
ie. from the M-x
prompt (rgrep
, occur
, …)
In EmacsLisp, use the double backslash
\\|
…
From
M-x …
use a single backslash\|
… As a side note, when writing embedded EmacsLisp, for example in yasnippet dynamic expansions, you have to use a quadruple backslash: \\\\|
(to escape the double backslashes.)
Always avoid this (if possible), for example in yasnippet you can provide mode related emacslisp, without the additional escaping, via a .yas-setup.el