번역 - python 정규 표현 식 에서 search () 와 match () 의 차 이 는 무엇 입 니까?
답: re. match 는 문자열 의 시작 에 있 습 니 다.그것 은 새 줄 과 무관 하기 때문에 패턴 상 ^ 의 용법 과 다르다.re. match 문서 에서 말 한 것 처럼:
문자열 의 시작 부분 에 0 개 이상 의 문자 가 정규 표현 식 모드 에 맞 으 면 일치 하 는 인 스 턴 스 대상 을 되 돌려 줍 니 다. 문자열 이 정규 표현 식 모드 에 맞지 않 으 면 None 로 돌아 갑 니 다. 0 길이 와 일치 하 는 것 은 차이 가 있 습 니 다.주: 문자열 에 일치 하 는 위 치 를 찾 으 려 면 search () 를 사용 하 십시오.
re. search 전체 문자열 을 검색 합 니 다. re. search 문서 에서 말 한 것 처럼:
전체 문자열 을 검색 합 니 다. 일치 하 는 정규 모드 가 생기 면 이 위 치 를 찾 아 일치 하 는 대상 을 되 돌려 줍 니 다.이 모드 와 일치 하 는 위치 가 없 으 면 None 으로 돌아 갑 니 다. (문자 의 어 딘 가 에 0 길이 의 일치 와 차이 가 있 음 을 주의 하 십시오.) 따라서 문자열 의 처음부터 일치 하거나 전체 문자열 과 일치 하려 면 match 를 사용 하 십시오.더 빠 릅 니 다. 그렇지 않 으 면 search 를 사용 하 십시오.
이 문 서 는 match 와 search 가 같은 여러 줄 의 문자열 을 덮어 쓰 는 전문 적 인 장 이 있 습 니 다.
Python 은 정규 표현 식 에 따라 두 가지 기본 동작 을 제공 합 니 다. match 는 문자열 의 시작 부분 에서 만 일치 하 는 지 확인 하고 search 는 문자열 의 모든 일치 하 는 위 치 를 확인 합 니 다 (Perl 기본 값 은 이렇게 설정 되 어 있 습 니 다).시작 하 는 정규 표현 식 을 사용 할 때 match 는 search 와 다 를 수 있 습 니 다. 문자열 의 시작 부분 만 일치 하거나 여러 줄 모드 에서 바로 따라 가 는 새 줄 입 니 다.어떤 모드 에서 든 match 작업 은 시작 문자열 이 일치 하 는 상황 에서 만 성공 하거나 선택 할 수 있 는 인자 pos 가 지정 한 시작 위치 (그 전에 새 줄 이 있 든 없 든) 입 니 다.
개념 을 충분히 말 했 으 니 다음 에 여러분 께 예 를 들 어 보 겠 습 니 다.
string_with_newlines = """something
someotherthing"""
import re
print re.match('some', string_with_newlines) # matches
print re.match('someother', string_with_newlines) # won't match
print re.match('^someother', string_with_newlines, re.MULTILINE) # also won't match
print re.search('someother', string_with_newlines) # finds something
print re.search('^someother', string_with_newlines, re.MULTILINE) # also finds something
m = re.compile('thing$', re.MULTILINE)
print m.match(string_with_newlines) # no match
print m.match(string_with_newlines, pos=4) # matches
print m.search(string_with_newlines,re.MULTILINE) # also matches
번역자 주석:
파 이 썬 의 re. search 와 re. match 의 차이 점 은 무엇 입 니까?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.