我明白,在配置文件中,它总是\\( 来转义像 ( 的特殊字符,但是,当我们重新搜索替换时,它应该是\( 或\\(?
最佳答案
对于 M-x re-search-*
和 M-x regexp-replace
,请使用 \(
。通常,无论何时输入提示符下的正则表达式。1
您必须在配置文件(或任何 elisp)中使用 \\(
的原因是,正则表达式将被编码为字符串,并且在字符串文字中,必须转义反斜杠才能区分来自其他转义序列(即,"\\n"
是一个反斜杠,后跟一个 n
,而 "\n"
是一个换行符) .
1 感谢@phils 指出这一点应该明确提及。
关于regex - 对 Emacs Regex 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28782772/