修改javascript正则表达式的组匹配输出

时间:2015-05-07 10:29:15

标签: javascript regex

是否可以修改javascript正则表达式的组匹配输出

psudo代码:

var from_another_script=/file:(\w+)/;
var inp = 'file:name';
var matches = inp.match(from_another_script);

通常输出为“name”

我想修改正则表达式以获取输出为“name_file”

我看过一些正则表达式引用(不是js而不匹配) /文件:(\ W +)/ $ 1_file

2 个答案:

答案 0 :(得分:1)

不是match,但你可以这样做:

var inp = 'file:name';
var output = inp.replace(/file:(\w+)/, '$1_file');

你用另一种语言所拥有的并不只是一个正则表达式:它是一个正则表达式和一个替代模式。您只能使用正则表达式添加_file。如果您可以更改主叫代码,请选择以下解决方案:

var from_another_script={
   regex: /file:(\w+)/,
   replacementPattern: '$1_file'
}
var inp = 'file:name';
var output = inp.replace(from_another_script.regex, from_another_script.replacementPattern);

答案 1 :(得分:1)

您可以使用以下内容:

inp.replace(/file:(\w+)/, '$1_file');