101 of 151 menu

re 모듈의 finditer 메서드

re 모듈의 finditer 메서드는 문자열에서 정규 표현식과 일치하는 모든 항목의 이터레이터를 반환합니다. 메서드의 첫 번째 매개변수에는 정규식을 지정합니다. 두 번째 매개변수에는 검색 대상 문자열을 설정합니다. 세 번째 선택적 매개변수로 플래그를 지정할 수 있습니다. 메서드는 왼쪽에서 오른쪽으로 검색하며 모든 일치 항목을 확인합니다.

구문

import re re.finditer(정규식, 문자열, [플래그])

예제

문자열에서 숫자로 이루어진 모든 부분 문자열을 찾아봅시다:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) print(res)

코드 실행 결과:

<callable_iterator object at 0x000002AA891300A0>

예제

이전 예제에서 얻은 객체를 값으로 갖는 변수 res를 선언해 보겠습니다. 그런 다음 루프로 반복하겠습니다:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

코드 실행 후 두 개의 Match 객체를 얻습니다:

<re.Match object; span=(5, 8), match='123'> <re.Match object; span=(14, 17), match='456'>

이 객체들은 정규식과 일치하는 모든 항목에 대한 정보를 튜플 형태로 담고 있습니다. 인덱스를 통해 이들로부터 일치 항목을 출력할 수 있습니다:

for el in res: print(el[0])

코드 실행 결과:

'123' '456'

예제

더 명확하게 보기 위해 검색 시 그룹(캡처 그룹)을 사용하겠습니다. 그리고 루프로 객체를 반복하면서 첫 번째 일치 항목(이는 0번 그룹으로 간주됨)과, 그 요소들을 또한 각각의 그룹으로 나누어 출력하겠습니다:

txt = 'aaaa 123 bbbb 456' res = re.finditer('(\d)(\d)', txt) for el in res: print(el[0], el[1], el[2])

코드 실행 후 전체 부분 문자열인 0번 그룹과, 이 부분 문자열의 첫 번째 및 두 번째 문자를 얻습니다:

'12' '1' '2' '45' '4' '5'

참고 항목

  • re 모듈의 findall 메서드,
    문자열 내 모든 일치 항목의 리스트를 반환함
  • re 모듈의 search 메서드,
    문자열에서 정규식과 처음으로 일치하는 항목을 검색함
  • re 모듈의 match 메서드,
    문자열의 시작 부분에서 정규식과 일치하는 항목을 검색함
  • re 모듈의 fullmatch 메서드,
    문자열 전체가 정규식과 일치하는 항목을 검색함
  • re 모듈의 Match object,
    정규식과의 일치에 대한 정보를 포함함
  • re 모듈의 split 메서드,
    지정된 구분자로 문자열을 리스트로 분할함
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부