python:regex \ 1无法正常工作

时间:2019-01-06 12:32:56

标签: python regex

在程序\ 1中,应该替换文本中的第一个数字,但不能替换,任何人都可以帮助

def remove():
    r=re.compile(r'(\d{6})')
    text=pyperclip.paste()
    m=r.sub(r'\1*****',text)
    print(m)

如果我们有一个六位数的数字,例如252526,则应将其替换为2 *****

1 个答案:

答案 0 :(得分:0)

您应该改为这样做:

import re

r = re.compile(r'(\d)(\d{5})')
text = "252526"
m = r.sub(r'\1*****', text)
print(m)

输出

2*****

当前模式的问题是捕获组引用了全部六个数字,如果只想第一个,则需要使用另一个捕获组:因此(\d)(\d{5})。现在\1仅指第一个数字。