将多个数字与 str.replace() 匹配



我的字符串在尝试用字符串中的指定数字替换它时返回为空。

const input = 4w12d3h;
let days = 0;
if (/d/.test(input)) {
    days = input.replace(/.*(d*)d.*/, '$1');
}

我希望输出为"12",但它返回为"。如果我改为 (\d) 或 (\d+),它将作为字母 (2) 之前的数字返回,但我需要匹配字母之前存在的尽可能多的数字。

您也可以使用match来获得所需的输出

const input = '4w12d3h';
let days = 0;
if (/d/.test(input)) {
    days = input.match(/(d+)d/);
}
console.log(days[1])

最新更新