首页 > 解决方案 > 混淆字符串中除最后 4 个字符之外的所有字符

问题描述

我得到这个正则表达式替换一串数字中除了最后 4 个字符之外的所有字符: '1234567890'.replace(/\d(?=\d{4})/g, 'X'); // "XXXXXX7890"

但是,它仅适用于数字。我希望它匹配任何字母数字字符,包括空格。我尝试用(在两个地方)替换/d元字符,/w但它不起作用。

你能帮我吗?

标签: javascriptregex

解决方案


您想同时选择 /w 和文字空间 so (\w| )|就像一个OR,你告诉正则表达式选择一个单词字符或空格

使用您的正则表达式将是:'1234567890'.replace(/(\w| )(?=(\w| ){4})/g, 'X')


推荐阅读