Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 정규 표현식으로 숫자가 아닌 문자를 매칭하는 방법

파이썬에서 정규 표현식(regular expression)을 활용하면 문자열에서 숫자가 아닌 문자를 간단하게 추출할 수 있습니다. 정규 표현식에서 \D는 "숫자가 아닌 모든 문자"를 의미하는 특수 패턴으로, 이를 re.findall() 함수와 함께 사용하면 한 번의 호출로 원하는 결과를 얻을 수 있습니다.

예제

import re

foo = 'Mo4zam5Bi6QuE7'
match = re.findall(r'\D', foo)
print(match)

출력

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

['M', 'o', 'z', 'a', 'm', 'B', 'i', 'Q', 'u', 'E']

코드 설명

  • re.findall(r'\D', foo): 입력 문자열에서 패턴 \D와 일치하는 모든 문자를 찾아 리스트 형태로 반환합니다.
  • \D[^0-9]와 동일한 의미로, 숫자(0~9)를 제외한 영문자, 특수문자, 공백 등 모든 문자에 해당합니다.
  • 반대로 숫자만 추출하고 싶다면 소문자 \d 패턴을 사용하면 됩니다.

참고로 위 예제는 파이썬 3 문법(print(match)) 기준으로 작성되었으며, 파이썬 2에서는 print match처럼 괄호 없이 사용해야 합니다.