정규식(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번 연속으로 나오는 구간을 찾게 됩니다.