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

Ema*_*erg 2 emacs search regular-expression elisp

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

就我而言,如何转换

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

进入

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

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

是否有内置的东西或者你编写 Elisp 代码?

Jua*_*cho 5

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

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

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

\1对替换字符串插入比赛的分组。

前面的双反斜杠texttt用于从解释中转义反斜杠字符。

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