我试图通过用星号遮住中间的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)
最佳答案
使用替换的最简单方法:
x = ['5415********4935\r\n5275********9664\r\n5206********3509\r\n5332********3074\r\n5204********2617']
x[0] = x[0].replace("\r\n",',')
print x
#prints ['5415********4935,5275********9664,5206********3509,5332********3074,5204********2617']
关于python - 使用RE保护python中的信用卡号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30753672/