我有两个电话号码,我需要屏蔽它们:
,P:(123)456-1234
,P:+1(123) 456-1234
到
,P:***-***-1234
,P:+*-***-***-1234
import re
m = re.match(r'([0-9\s]+)', line)
print(m.group(1)[-5:-1])
m = re.match(r'([0-9\s-+]+)', line)
print(m.group(1)[-5:-1])
我得到m
为None
的结果。
答案 0 :(得分:1)
它不起作用,因为你的正则表达式与这样的电话号码相匹配11234561234
如果您只通过正则表达式传递仅包含一个电话号码的字符串,那么很容易,只有两个部分对您感兴趣:一个不会被屏蔽的部分,以及它之前的部分。
>>> import re
>>> pat = "(.*)(-\d{4})$"
>>> mask_part, public_part = re.match(pat,"+1(123) 456-1234").groups()
>>> print re.sub("\d","*",mask_part) + public_part
+*(***) ***-1234