text.replace(reg, (match, capture)=>{})
里面的match capture 是什么意思?
'text'.replace(/t(.)(.)/, function(match, capture, c2){
console.log('match = '+match);
console.log('capture = '+capture);
console.log('c2 = '+c2);
return '[match:'+match+']';
})
一图胜千言
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
在 JavaScript 中,.replace() 方法的第一个参数是一个正则表达式(或者是一个字符串),第二个参数是一个回调函数,它接收多个参数,其中第一个参数是与正则表达式匹配的子字符串,而剩下的参数则是与正则表达式中的捕获组匹配的字符串(如果有的话)。
在回调函数中,第一个参数 match 表示整个匹配的字符串,即与正则表达式完全匹配的子串。而第二个参数 capture 表示与正则表达式中的捕获组匹配的字符串(如果有的话)。
在 .replace() 方法中使用回调函数时,每次正则表达式匹配成功时,都会调用该回调函数,并将匹配到的字符串和捕获组作为参数传递给回调函数。在回调函数中,你可以根据这些参数执行自己的逻辑,并返回一个新的字符串,用于替换原字符串中匹配到的子串。