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

时间:2013-10-16 10:36:54

标签: java javascript python regex

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

示例 foostring

  

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

我想执行一项操作,用% - variable - %替换这些特殊字符串中的常规变量 @ - variable -

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

  

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

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

1 个答案:

答案 0 :(得分:5)

在Javascript中:

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

在Java中:

String repl = str.replaceAll("@(\\w+)", "%$1%");

在python中,为了完整性而

import re
repl = re.sub(r'@(\w+)', r'%\1%', strng)