let str = "aa22cs3333sdsa42sda12";
let arr = [];
str.replace(/\d+/g, (match) => {
arr.push(match);
});
let max = Math.max(...arr);
console.log("max", max);
console.log("arr", arr);
replace中的函数执行了多次, 我现在只希望全匹配完了再执行, 并且将匹配的内容给到我
let str = "aa22cs3333sdsa42sda12";
let arr = [];
str.replace(/\d+/g, (match) => {
arr.push(match);
});
let max = Math.max(...arr);
console.log("max", max);
console.log("arr", arr);
replace中的函数执行了多次, 我现在只希望全匹配完了再执行, 并且将匹配的内容给到我
匹配元素返回给你可以如边城大佬这样使用 match
也可以通过每次循环的时候把匹配项 push
到一个外部数组当中。
然后全部匹配完了再执行的话,其实和单独执行没有什么区别。如果说你想要先取到里面的最大值然后再去做赋值的话,那就只能先匹配出来,然后再做 replace
了。
这样来也可以,仅提供方法参考
const str = 'aa22cs3333sdsa42sda12'.replace(/[A-Za-z]{1,}/g, ' ')
console.log(str, str.trim().split(' '))
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决