Emacs:查询替换、正则表达式、搜索结果的重用

Emacs:查询替换、正则表达式、搜索结果的重用

如何将类似query-replace正则表达式搜索和替换的内容结合起来,部分地重用搜索结果?

就我而言,如何转变

程序员“有点”相信子例程“load_students”和“compute_student_grade”没有错误。

进入

程序员“有点”相信子例程 \texttt{load_students} 和 \texttt{compute_student_grade} 没有错误。

我可以使用两个query-replace,然后敲击“是”和“否”,但对于大文档来说,这似乎很缓慢。另外,我考虑过在搜索中包含空格( one "和 one ,但这在以下情况下不起作用... that's not the way to use "load_students", rather ...

是否有内置的东西可以实现这一点,或者您是否编写 Elisp 代码?

答案1

您可以query-replace-regexp这样使用:

M-x query-replace-regexp RET
\"\([^[:space:]]+\)\" RET
\\texttt{\1} RET

查询字符串可以理解为:将一个或多个非空格字符的序列匹配到匹配组 1(括号用于分组),所有这些都用引号括起来。

\1替换字符串上的 插入匹配分组。

前面的双反斜杠texttt是为了从解释中转义反斜杠字符。

相反,如果您想要匹配的只是带有下划线的多字符号,那么您需要将匹配字符串更改为类似\(\w+_\w+\)

相关内容