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

Python 정규식에서 와일드카드(.)를 사용하는 방법

Python 정규식에서 와일드카드 역할을 하는 문자는 바로 마침표(., dot)입니다. 이 특수 문자는 줄바꿈 문자(\n)를 제외한 모든 단일 문자와 매칭됩니다.

기본 사용 예제

아래 코드는 re.compile()로 정규식 패턴을 컴파일한 후, findall() 메서드를 사용해 문자열에서 일치하는 부분을 모두 찾는 예제입니다.

import re

rex = re.compile('th.s')
l = "this, thus, just, then"
print(rex.findall(l))

실행 결과

['this', 'thus']

결과 분석

패턴 th.s는 "th"로 시작하고, 그 뒤에 임의의 한 글자가 오며, 마지막이 "s"로 끝나는 문자열과 매칭됩니다.

  • this → 'i'가 임의 문자 자리에 매칭되어 일치 ✔
  • thus → 'u'가 임의 문자 자리에 매칭되어 일치 ✔
  • just → "th"로 시작하지 않으므로 불일치 ✘
  • then → 네 번째 글자가 's'가 아닌 'n'이므로 불일치 ✘

추가로 알아두면 좋은 점

마침표(.)를 와일드카드가 아닌 실제 마침표 문자로 매칭하려면 백슬래시로 이스케이프 처리해야 합니다. 예를 들어 \.처럼 작성하면 됩니다.

또한 기본적으로 마침표는 줄바꿈 문자를 포함하지 않지만, re.DOTALL(또는 re.S) 플래그를 사용하면 줄바꿈 문자까지도 매칭할 수 있습니다.