使用取决于匹配的替换字符串替换字符串中的正则表达式模式

Pra*_*tal 2 javascript python java regex

我有一个包含变量的特殊字符串.任何以"@"符号开头的单词都是此字符串中的变量.

foostring示例:

这是我的字符串,这是一个@variable.例如,@ hello是另一个变量

我想在%-variable-%这样的特殊字符串中执行一个替换任何通用变量@ -variable-的操作.

所以上面的示例foostring字符串将变为这样(在此操作之后):

这是我的字符串,这是%变量%.例如,%hello%是另一个变量

问题:如何使用正则表达式执行此操作?

anu*_*ava 5

在Javascript中:

var repl = str.replace(/@(\w+)/g, '%$1%');
Run Code Online (Sandbox Code Playgroud)

在Java中:

String repl = str.replaceAll("@(\\w+)", "%$1%");
Run Code Online (Sandbox Code Playgroud)

在python中,为了完整性的缘故

import re
repl = re.sub(r'@(\w+)', r'%\1%', strng)
Run Code Online (Sandbox Code Playgroud)