是否可以修改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
答案 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');