Cha*_*les 4 javascript regex string idioms
比方说/url.com\/([A-Za-z]+)\.html/,我有一个正则表达式,我想new string $1: f($1)用一个带有两个插值的常量字符串替换它,捕获的字符串和捕获的字符串的函数.
在JavaScript中执行此操作的最佳方法是什么?这里的"最佳"意味着(1)最不容易出错,(2)在空间和速度方面最有效,以及(3)大多数惯用于JavaScript的特殊组合,特别强调#3.
该replace方法可以将函数作为替换参数.
例如:
str.replace(/regex/, function(match, group1, group2, index, original) {
return "new string " + group1 + ": " + f(group1);
});
Run Code Online (Sandbox Code Playgroud)
使用时String.replace,您可以提供回调函数作为替换参数而不是字符串,并创建您自己的非常自定义的返回值.
'foo'.replace(/bar/, function (str, p1, p2) {
return /* some custom string */;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2181 次 |
| 最近记录: |