正则表达式将数字替换为字符 x 乘以匹配长度



获得正则表达式(?<!a|d)[0-9]{6,}匹配长度为6或6以上的任何数字,但不以或数字开头。

之前,我用我用[0-9]代替replace("[0-9]", "x"),它将用xxx代替111

但现在有了新的公式replace("(?<!a|d)[0-9]{6,}", "x"),它只是替换为一个x

我怎样才能使它继续原来的行为?我试图使用一个函数,但它似乎没有很好地工作(使用Zoho邮件使用奇怪的JS语言)

使用函数作为替换。然后,它可以重复该字符与匹配长度相同的次数。

console.log('123456'.replace(/(?<!a|d)[0-9]{6,}/g, match => "x".repeat(match.length)));

最新更新