본문 바로가기
Python/Python FAQ

Python re.compile 없이 대소문자를 구분하지 않는 정규 표현식은 어떻게 작성하나요?, Case insensitive regular expression without re.compile?

by 베타코드 2023. 10. 9.
반응형

질문


파이썬에서는 re.compile을 사용하여 대소문자를 구분하지 않는 정규 표현식을 컴파일 할 수 있습니다:

>>> s = 'TeSt'
>>> casesensitive = re.compile('test')
>>> ignorecase = re.compile('test', re.IGNORECASE)
>>> 
>>> print casesensitive.match(s)
None
>>> print ignorecase.match(s)
<_sre.SRE_Match object at 0x02F0B608>

re.compile을 사용하지 않고도 동일한 작업을 할 수 있는 방법이 있을까요? 문서에서 Perl의 i 접미사 (예: m/test/i)와 같은 것을 찾을 수 없습니다.


답변


다음과 같이 flags 매개변수에 re.IGNORECASE를 전달하여 search, match 또는 sub 함수를 사용할 수 있습니다:

re.search('test', 'TeSt', re.IGNORECASE)
re.match('test', 'TeSt', re.IGNORECASE)
re.sub('test', 'xxxx', 'Testing', flags=re.IGNORECASE)
반응형

댓글