Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 re.match(), re.search() 및 re.findall() 메서드의 차이점은 무엇입니까?


re.match(), re.search() 및 re.findall()은 Python 모듈 re의 메소드입니다.

re.match() 메서드

re.match() 메서드는 문자열의 시작 부분에서 일치하는 항목을 찾습니다. 예를 들어 'TP Tutorials Point TP' 문자열에 대해 match()를 호출하고 'TP' 패턴을 찾으면 일치합니다.

예시

import re
result = re.match(r'TP', 'TP Tutorials Point TP')
print result.group(0)

출력

TP

re.search() 메서드

re.search() 메서드는 re.match()와 유사하지만 문자열 시작 부분에서만 일치 항목을 찾는 것으로 제한하지 않습니다.

예시

import re
result = re.search(r'Tutorials', 'TP Tutorials Point TP')
print result.group(0)

출력

Tutorials

re.findall() 메서드

re.findall()은 일치하는 모든 패턴의 목록을 가져오는 데 도움이 됩니다. 주어진 문자열의 시작 또는 끝에서 검색합니다. findall 메소드를 사용하여 주어진 문자열에서 패턴을 검색하면 패턴의 모든 항목을 반환합니다. 패턴을 검색할 때 항상 re.findall()을 사용하는 것이 좋습니다. re.search() 및 re.match() 둘 다처럼 작동합니다.

예시

import re
result = re.search(r'TP', 'TP Tutorials Point TP')
print result.group()

출력

TP