[英]Regex to replace digits with a character x times the match's length
让正则表达式(?<!a|\d)[0-9]{6,}
匹配长度为 6 或更多的任何数字,但不以 \ 或数字开头。
以前,我在replace("[0-9]", "x")
中使用了[0-9]
,它会将111
替换为xxx
。
但是现在使用新公式replace("(?<!a|\d)[0-9]{6,}", "x")
它只是替换为一个x
。
我怎样才能使它继续旧的行为? 我尝试使用一个函数,但它似乎效果不佳(使用使用奇怪 JS 语言的 Zoho 邮件)
使用函数作为替换。 然后它可以重复字符的次数与匹配的长度相同。
console.log('123456'.replace(/(?<!a|\d)[0-9]{6,}/g, match => "x".repeat(match.length)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.