我想在Javascript(伪代码)中执行以下操作:
myString.replace(/mypattern/g, f(currentMatch));
也就是说,替换字符串不是固定的,而是当前匹配的功能.
只需省略参数,即使用:
myString.replace(/mypattern/g, f);
这是一个例子:http://ejohn.org/blog/search-and-dont-replace/
MDC声称你可以做到这一点:
function styleHyphenFormat(propertyName) { function upperToHyphenLower(match) { return '-' + match.toLowerCase(); } return propertyName.replace(/[A-Z]/, upperToHyphenLower); }
或者更一般地说:
myString.replace(/mypattern/g, function(match){ return "Some function of match"; });