如何在我的正则表达式中创建一个匹配变量和整数相互替换的替换字符串?
以下是我要解决的两个例子。
1)... by,Cheese / Night%20Out-Now,2 ...
2)... by,Cheese / 2 ...
这是我的正则表达式尝试
var re = /Cheese\/([\-\%_0-9a-z]+)?(,)?[0-9]+/i;
var subst = 'Cheese/$1$25';
var str1 = '...by,Cheese/Night%20Out-Now,2...';
var str2 = '...by,Cheese/2...';
var result1 = str1.replace(re, subst);
var result2 = str2.replace(re, subst);
这是我想要的结果
1)... by,Cheese / Night%20Out-Now,5 ...
2)... by,Cheese / 5 ...
沙盒
答案 0 :(得分:1)
似乎已经有效了。您可以在此处使用一个可选组来修改正则表达式。
var re = /(Cheese\/(?:[\w%-]+,)?)[0-9]+/i
var subst = '$15';