正则表达式实现脱敏 前二后二
时间: 2023-08-17 08:07:47 浏览: 90
你可以使用正则表达式来实现脱敏操作。对于脱敏前两位和后两位的需求,你可以使用以下正则表达式进行匹配和替换:
```python
import re
def desensitize(s):
pattern = r'(^..)(.*)(..$)'
replacement = r'\1****\3'
result = re.sub(pattern, replacement, s)
return result
s = "12345678"
desensitized_s = desensitize(s)
print(desensitized_s) # 输出: 12****78
```
在上述代码中,我们定义了一个`desensitize`函数,它接受一个字符串作为输入,并返回脱敏后的字符串。`pattern`变量定义了一个正则表达式,它包含三个部分:`(^..)`匹配开头的任意两个字符,`(.*)`匹配中间的任意字符(除了换行符),`(..$)`匹配结尾的任意两个字符。`replacement`变量定义了替换后的字符串,其中使用了`\1`和`\3`来引用匹配到的第一个和第三个部分,中间的部分被替换为`****`。`re.sub`函数使用`pattern`和`replacement`对输入字符串进行替换操作。
以上代码可以实现将输入字符串的前两位和后两位替换为`****`,达到脱敏的效果。你可以根据实际需求进行修改和扩展。
阅读全文