regex - 对 Emacs Regex 感到困惑

标签 regex emacs

我明白,在配置文件中,它总是\\( 来转义像 ( 的特殊字符,但是,当我们重新搜索替换时,它应该是\( 或\\(?

最佳答案

对于 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/

相关文章:

python正则表达式匹配字符串

python - Emacs下python解释器命令历史的 block 模式

xml - 带制表符的 Emacs xml 模式缩进

emacs - emacs 中的一键撤销

android - 将 Emacs TRAMP 与不提供/bin/sh 的 ssh 服务器一起使用?

javascript - 无法将此主题与 preg_match 匹配

python - 抓取三个单词之一后的数字

Python正则表达式返回包含双字符的单词

python - 在伊博语文本中查找缩略词模式 (*'*)

python - Emacs:Pymacs 不使用 Carbon Emacs 加载 ropemacs