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

Python에서 반복 정규식 패턴을 지정하는 방법

Python에서 반복 정규식 지정하기

Python의 re 모듈에서는 중괄호 {} 수량자(quantifier)를 사용하여 특정 문자가 반복되는 횟수를 지정할 수 있습니다. 예를 들어 A{3}은 문자 'A'가 정확히 3번 연속으로 나타나는 것을 의미하며, B{4}는 'B'가 4번 연속으로 나타나는 것을 의미합니다.

다음 코드는 주어진 문자열에서 'A'가 3개, 'B'가 4개 이어지는 패턴을 검색하는 예제입니다.

예제

import re
foo = 'AAABBBBBB'
match = re.search(r'A{3}B{4}', foo)
print(match.group())

출력 결과

AAABBBB

re.search() 함수는 문자열 전체를 스캔하여 패턴과 일치하는 첫 번째 부분을 찾아 매치 객체를 반환합니다. 이 객체의 group() 메서드를 호출하면 실제로 매칭된 문자열인 'AAABBBB'를 얻을 수 있습니다.

만약 패턴이 문자열에 존재하지 않으면 re.search()None을 반환하므로, 실제 프로젝트에서는 아래와 같이 매치 여부를 먼저 확인하는 것이 안전합니다.

import re
foo = 'AAABBBBBB'
match = re.search(r'A{3}B{4}', foo)
if match:
    print(match.group())
else:
    print('패턴을 찾을 수 없습니다.')

이처럼 {n} 수량자를 활용하면 반복 횟수가 고정된 복잡한 패턴도 간결하게 표현할 수 있으며, {m,n} 형태를 사용하면 최소 m번, 최대 n번 반복되는 범위도 지정할 수 있습니다.