您收到此错误消息是因为在Emacs的正则表达式中有花括号 \{ 和 \} 有特殊意义。这些大括号用于指定紧跟在大括号之前的正则表达式部分应该匹配一定次数。
\{
\}
来自GNU Emacs 文件 在正则表达式:
\ {N \} 是一个后缀运算符,指定n次重复[...] \ {N,M \} 是一个后缀运算符,指定n和m次重复[...]
\ {N \} 是一个后缀运算符,指定n次重复[...]
\ {N,M \} 是一个后缀运算符,指定n和m次重复[...]
如果你希望你的正则表达式实际匹配大括号,请不要使用前导斜杠将其转义:
{.*centering.* C-q C-j .*cm]
{.*centering.*
.*cm]
为了在替换字符串中使用反斜杠,您必须使用另一个反斜杠来转义它。 (当在代码中执行此操作时,它很快变得非常难看,因为在双引号字符串中,反斜杠本身必须已经转义。但是,由于您以交互方式进行替换,因此不需要双重转义,因此两个反斜杠就足够了。 )
M-C-% {.*centering.* C-q C-j .*cm] RET \\begin{figure}[tpb] C-q C-j \\begin{center} C-q C-j \\includegraphics[width=\\textwidth] RET
\\begin{figure}[tpb]
\\begin{center}
\\includegraphics[width=\\textwidth]
确保重新语法是“读取”, C-c标签 。删除初始反斜杠。现在regexp应该可以工作,如果你把它拉进去 replace-regexp
replace-regexp