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

파이썬 정규식으로 영숫자(Alphanumeric) 여부 확인하는 방법

파이썬 정규식으로 영숫자 확인하기

파이썬의 re 모듈에는 영숫자(alphanumeric)와 밑줄(_)을 매칭하기 위한 특수 문자 시퀀스 \w가 제공됩니다. 단, LOCALEUNICODE 플래그가 지정되지 않은 경우에만 이 기본 동작이 적용됩니다.

\w는 기본적으로 [a-zA-Z0-9_]와 동일한 의미를 가집니다. 따라서 문자열 전체가 영숫자로만 구성되어 있는지 확인하려면 패턴 앞뒤에 각각 문자열의 시작을 의미하는 ^와 끝을 의미하는 $ 앵커를 함께 사용하면 됩니다.

예제 코드

import re

result = re.search(r'^\w+$', 'Tutorials123')
print(result.group())

실행 결과

Tutorials123

위 예제에서 'Tutorials123'은 알파벳과 숫자로만 이루어져 있으므로 정규식 ^\w+$와 일치하여 전체 문자열이 그대로 출력됩니다. 반대로 문자열에 공백이나 특수 문자가 포함되어 있다면 re.search()None을 반환하므로, 이를 통해 유효성 검사를 수행할 수 있습니다.

알아두면 좋은 점

  • \w는 영숫자 외에 밑줄(_)도 포함합니다. 밑줄을 제외한 순수 영숫자만 허용하려면 [a-zA-Z0-9] 패턴을 직접 작성하는 것이 안전합니다.
  • 파이썬 3에서는 유니코드가 기본값이므로 한글 등 다국어 문자도 \w에 포함될 수 있습니다. ASCII 영숫자만 엄격하게 검사해야 한다면 명시적인 문자 클래스를 사용하세요.
  • 문자열 시작 위치부터 검사하는 경우에는 re.match()를 사용해도 동일한 결과를 얻을 수 있습니다.