[python] 정규표현식을 이용한 신용카드 번호 형식인 문자열 추출하기

신용카드 번호는 일정한 형식을 가지고 있습니다. 예를 들어, Visa 카드는 16자리 숫자로 구성되어 있고, MasterCard는 16자리 숫자이며 첫 번째 숫자는 5 또는 2로 시작합니다. 이러한 신용카드 번호 형식을 추출하기 위해서는 정규표현식을 사용할 수 있습니다.

Python에서는 re 모듈을 사용하여 정규표현식을 처리할 수 있습니다.

신용카드 번호 형식인 문자열 추출하는 예제

import re

# 신용카드 번호 형식인 문자열
string = "My credit card number is 1234-5678-9012-3456."

# 정규표현식 패턴
pattern = r"\d{4}-\d{4}-\d{4}-\d{4}"

# 정규표현식 사용하여 신용카드 번호 형식인 문자열 추출
match = re.search(pattern, string)

if match:
    credit_card_number = match.group()
    print("추출된 신용카드 번호:", credit_card_number)
else:
    print("신용카드 번호 형식의 문자열을 찾을 수 없습니다.")

위 예제에서는 re.search() 함수를 사용하여 정규표현식 패턴에 해당하는 문자열을 추출합니다. 추출된 결과를 match.group() 함수를 통해 가져와서 출력합니다.

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

추출된 신용카드 번호: 1234-5678-9012-3456

정규표현식 패턴 설명

위 예제에서 사용한 정규표현식 패턴 r"\d{4}-\d{4}-\d{4}-\d{4}"은 다음과 같은 의미를 가집니다:

즉, 위 패턴은 숫자 4개씩 하이픈으로 구분된 16자리 숫자를 추출하는 것을 의미합니다.

참고 자료