【发布时间】:2015-08-25 13:08:55
【问题描述】:
我试图通过用星号掩盖中间 4 位数字来掩盖信用卡号。我正在尝试在 python 中使用 RE 来解决这个问题。
5415********4935
虽然我已经弄清楚如何执行上述操作。输出为我提供了一系列没有任何逗号的信用卡号
['5415********4935\r\n5275********9664\r\n5206********3509\r\n5332********3074\r\n5204********2617']
我需要在哪里更改代码才能获得以下输出
['5415********4935,5275********9664,5206********3509,5332********3074,5204********2617']
我的示例代码:
import re,pyperclip
CreditRegex = re.compile(r'''(
(\d{4})
(\s*|\-*)
(\d{4})
(\s*|\-*)
(\d{4})
(\s*|\-*)
(\d{4})
)''',re.VERBOSE)
text = str(pyperclip.paste())
matches=[]
for groups in [CreditRegex.sub(r'\2********\8',text)]:
groups.rstrip()
matches.append(groups)
print(matches)
【问题讨论】:
-
您真的希望这是一个包含一个元素的列表吗?或者你想要一个字符串列表——每个信用卡号都是列表中的一个单独元素?看看我的回答。