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

re.compile 없이 대소문자를 구분하지 않는 파이썬 정규식 작성 방법

파이썬에서 re.compile을 사용하지 않고도 정규식 매칭 시 대소문자를 구분하지 않도록 설정할 수 있습니다. 핵심은 re.IGNORECASE 플래그를 search, match, 또는 sub 함수의 flags 매개변수에 전달하는 것입니다.

주요 함수별 활용법

  • re.search(): 문자열 전체에서 패턴과 일치하는 첫 번째 위치를 찾습니다.
  • re.match(): 문자열의 시작 부분부터 패턴과 일치하는지 확인합니다.
  • re.sub(): 패턴과 일치하는 부분을 지정한 문자열로 교체합니다.

예제 코드

import re

print(re.search('bush', 'BuSh', re.IGNORECASE))
print(re.match('bush', 'BuSh', re.IGNORECASE))
print(re.sub('bush', 'xxxx', 'Bushmeat', flags=re.IGNORECASE))

실행 결과

<_sre.SRE_Match object at 0x0000000005316648>
<_sre.SRE_Match object at 0x0000000005316648>
xxxxmeat

결과 해석

searchmatch는 모두 'BuSh'라는 문자열에서 소문자 패턴 'bush'와 대소문자 구분 없이 성공적으로 매칭되어 Match 객체를 반환했습니다. 또한 sub 함수는 'Bushmeat' 문자열에서 'Bush' 부분을 'xxxx'로 치환하여 'xxxxmeat'를 출력했습니다.

추가 팁

re.IGNORECASE는 축약형인 re.I로도 사용할 수 있으며, 여러 플래그를 조합해야 할 경우 비트 OR 연산자(|)를 이용해 함께 전달할 수 있습니다. 예를 들어 re.IGNORECASE | re.MULTILINE처럼 작성하면 대소문자 무시와 멀티라인 모드를 동시에 적용할 수 있습니다.