如何使用 python 从字符串中提取信用卡子字符串

How can I extract credit card substring from a string using python

我是 python 的新手,希望有人能帮助我。我需要从字符串中提取信用卡号。例如

"My credit card number is 1234-2312-2312-2312" 或 "My Credict card number is 1234 1234 1832 1234"

有人知道我该怎么做吗?

像这样使用正则表达式

import re

def findCardNumber(string):
    pattern = r"(^|\s+)(\d{4}[ -]\d{4}[ -]\d{4}[ -]\d{4})(?:\s+|$)"

    match = re.search(pattern, string)

    if match:
        print(match.group(0))

findCardNumber("My Credict card number is 1234 1234 1832 1234")

这也考虑了您的卡号在字符串中的位置,它可以在任何位置 - 开头、中间或结尾。