如何使用正则表达式替换固定长度字符串中间的4个字符为****
固定长度字符串中间4位替换为****的正则方案
核心逻辑为通过正则捕获组保留需要留存的前后段字符,中间待替换的4个字符直接替换为****即可。
- 通用匹配规则(可根据实际的固定字符串长度、需要保留的前后字符数调整参数):
^(.{前保留长度}).{4}(.{后保留长度})$ - 通用替换规则:大部分语言使用
$1****$2,Python等少数语言使用\1****\2
对应示例的具体实现
你给出的示例为输入总长度7、保留前2位、保留后1位、替换中间4位,具体使用方式如下:
- 匹配正则:
^(.{2}).{4}(.{1})$ - 常见语言的调用示例:
- JavaScript 示例:
const originStr = "ABCDEFG"; const processedStr = originStr.replace(/^(.{2}).{4}(.{1})$/, '$1****$2'); // processedStr 输出结果为 AB****G - Python 示例:
import re origin_str = "ABCDEFG" processed_str = re.sub(r'^(.{2}).{4}(.{1})$', r'\1****\2', origin_str) # processed_str 输出结果为 AB****G - Java 示例:
String originStr = "ABCDEFG"; String processedStr = originStr.replaceAll("^(.{2}).{4}(.{1})$", "$1****$2"); // processedStr 输出结果为 AB****G
- JavaScript 示例:
该方案仅对符合指定固定长度的字符串生效,长度不匹配的输入不会被替换,可避免不符合规则的字符串被误修改。
内容的提问来源于stack exchange,提问作者pipegrepper
相关产品推荐
相关产品推荐

