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

파이썬 정규식으로 문자열에서 반복되는 숫자 찾는 방법

정규식(Regular Expression)을 사용하면 문자열에서 연속으로 반복되는 숫자를 간단하게 찾을 수 있습니다. 아래 예제는 파이썬의 re 모듈을 활용하여 주어진 문자열에서 같은 숫자가 4번 연속으로 반복되는 구간을 검색하는 방법을 보여줍니다.

예제

import re
result = re.search(r'(\d)\1{3}', '54222267890')
print(result.group())

출력 결과

2222

정규식 패턴 설명

  • (\d): 하나의 숫자를 매칭하고 캡처 그룹으로 저장합니다.
  • \1: 역참조(backreference)로, 첫 번째 캡처 그룹과 동일한 문자를 다시 매칭합니다.
  • {3}: 바로 앞의 패턴이 3번 더 반복되어야 함을 의미합니다.

즉, (\d)\1{3} 패턴은 동일한 숫자가 총 4번 연속으로 나타나는 부분을 찾습니다. 위 예제의 문자열 54222267890에서는 2222가 조건에 해당하므로, re.search() 함수는 일치하는 첫 번째 구간을 반환하고 group() 메서드를 통해 2222가 출력됩니다.

만약 반복 횟수를 조정하고 싶다면 중괄호 안의 숫자를 변경하면 됩니다. 예를 들어 {2}로 설정하면 같은 숫자가 3번 연속으로 나오는 구간을 찾게 됩니다.