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

파이썬 정규식으로 문자열에서 '10+1' 패턴 모두 찾는 방법

주어진 문자열에서 10+1 정규식 패턴과 일치하는 모든 부분을 찾아야 하는 경우가 있습니다. 이때 파이썬에서 기본 제공되는 re 모듈을 활용하면 간단하게 해결할 수 있습니다.

re.findall() 메서드란?

re 모듈에는 findall()

예제 입력과 기대 출력

예를 들어 다음과 같은 입력 문자열이 있다고 가정해 보겠습니다.

10000001 hello world 10011 test100000001test.

여기서 10+1 패턴은 '1'로 시작하고, 그 뒤에 '0'이 하나 이상 반복되며, 다시 '1'로 끝나는 부분을 의미합니다. 따라서 기대하는 출력 결과는 다음과 같습니다.

10000001
1001
100000001

구현 코드

re 모듈을 사용한 실제 구현 코드는 아래와 같습니다.

import re
occ = re.findall("10+1", "10000001 hello world 10011 test100000001test.")
for i in occ:
    print(i)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

10000001
1001
100000001

코드 설명

import re로 정규식 모듈을 불러온 후, re.findall("10+1", ...)을 호출하여 패턴에 일치하는 모든 문자열을 리스트로 받습니다. 이후 for 반복문을 통해 각 일치 항목을 한 줄씩 출력합니다. 참고로 + 메타문자는 바로 앞의 문자('0')가 하나 이상 연속으로 나타남을 의미하므로, '0'이 여러 개인 긴 숫자도 모두 매칭됩니다.