我想在javascript中创建一个url重写器,我的问题是,如果我做了类似的事情:
var str='/test/service-34.htm',
exp='/test/service-[0-9]*.htm';
console.log(str.match(exp));
我会得到'/test/service-34.htm'作为回应,所以如果我不能做出如下的替换:
/test/service-34.htm -> test.php?service=$1
答案 0 :(得分:4)
尝试:
"/test/service-34.htm".replace(
/\/test\/service\-([0-9]+)\.htm/
, "test.php?service=$1"
);
创建backreference以在替换中使用[0-9]
部分非常重要。此外,您可能希望使用+
代替*
来填写所需的号码。