查询替换中的 Emacs 简单算术

stu*_*ent 8 emacs regular-expression replace arithmetic

是否可以在以下内容中执行以下操作emacs

查询用数字 +n 替换区域中的所有数字,例如,如果您有:

12 and 7 are nice numbers
Run Code Online (Sandbox Code Playgroud)

让 n 为 3,那么它应该转换为

15 and 10 are nice numbers
Run Code Online (Sandbox Code Playgroud)

Ole*_*liv 9

是的,这是可能的,\&可以在replace表达式中使用来表示整个匹配,同样\#&可以用于将整个匹配表示为数字。

更具体地说:

Mx 查询替换正则表达式\b[0-9]+\b返回\,(+ 3 \#&)

以及文档中的引用

您可以使用 Lisp 表达式来计算替换字符串的一部分。为此,请在替换字符串中写入 '\,' 后跟表达式。每次替换都会计算表达式的值并将其转换为文本而不引用。