Python:re模块将电话的数字替换为星号

2024-05-01 22:05:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用regex替换电话中间的数字,但失败了。这是我的密码:

temp= re.sub(r'1([0-9]{1}[0-9])[0-9]{4}([0-9]{4})', repl=r'$1****$2', tel_phone)
print temp

在输出中,它始终显示: 1****$2美元

但我想展示一下:131****1234。如何完成?谢谢


Tags: re密码phone数字repltempregex电话
1条回答
网友
1楼 · 发布于 2024-05-01 22:05:34

我想你是想用****替换中间的四个数字(最后四个数字之前的四个数字)

>>> s = "13111111234"
>>> temp= re.sub(r'^(1[0-9]{2})[0-9]{4}([0-9]{4})$', r'\1****\2', s)
>>> print temp
131****1234

您可能在其他语言的替换字符串中看到了$1。但是,在Python中,使用\1而不是$1。为了正确起见,您还需要在第一个捕获组中包含起始1,以便输出也包含起始1;否则,起始1将丢失。你知道吗

相关问题 更多 >