python 정규 표현 식 의 게 으 름 일치 와 탐욕 일치 설명

이 문 제 를 처음 만 났 을 때 어떻게 해 야 할 지 몰 랐 습 니 다.나중에 큰 신 에 게 가르침 을 청 했 습 니 다.그리고 자신의 이 해 를 받 아야 무슨 뜻 인지 알 게 되 었 습 니 다.이 물건 은 python 을 쓰 는 데 자주 사용 되 고 특히 자주 사용 되 었 습 니 다.여기 서 블 로 그 를 한 편 쓰 면 친구 들 에 게 도움 이 되 기 를 바 랍 니 다.
예:"abcdacsdnd"문자열
① 게 으 름 매 칭
regex = "a.*?d"
② 탐욕 매 칭
regex = "a.*d"
테스트 코드:

# coding=UTF-8
import re

str = "abcdacsdn"
print("      " + str)

#     
regexL = "a.*?d"
print("     = " + regexL)
regL = re.compile(regexL)
listL = re.findall(regL, str)
print("      ")
print(listL)

#     
regexT = "a.*d"
print("     = " + regexT)
regT = re.compile(regexT)
listT = re.findall(regT, str)
print("      ")
print(listT)
테스트 결과:

결과 분석:
게 으 름 일치,두 번 일치,한 번 abcd,한 번 acsd,조건 을 만족 시 키 는 abcd 에 일치 하면 이번 일치 가 중단 되 며,뒤의 계속 일치 하 는 것 을 방해 하지 않 습 니 다.
탐욕 일치,일치 성공 한 번,abcdacsd 만 일치 합 니 다.문자열 에 일치 하면 문자열 을 최대한 사용 합 니 다.
상기 두 가지,하 나 는 가능 한 한 가장 짧 은 꼬치 와 일치 하고 하 나 는 가장 긴 꼬치 와 일치 합 니 다.
보충 지식:python 정규 일치 중 탐욕 일치 효율 비교
용례 회귀 완료 후,일반적으로 summary 를 생 성 합 니 다.report.그러나 보고 서 를 만 드 는 데 시간 이 오래 걸 리 는 것 을 발 견 했 습 니 다.자 료 를 수집 한 결과 파일 내용 과 일치 하 는 정규 표현 식 과 큰 관계 가 있 음 을 발 견 했 습 니 다.
1.일치 모드 설명
아래 그림 에서 동 그 라 미 를 친 부분 은 주석 이 없 는 사용 탐욕 일치,주석 이 없 는 사용 탐욕 일치

실행 시간 에 있어 서 양자 의 차이 가 매우 크다.또한 실행 시간 은 정규 표현 식 의 길이 와 도 관계 가 있 습 니 다.긴 표현 식 은 세그먼트 와 일치 하 는 것 을 권장 합 니 다.
2.탐욕 매 칭 시간

3.탐욕 이 아 닌 일치 시간

이상 의 python 정규 표현 식 의 게 으 름 과 탐욕 이 일치 하 는 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 가 되 고 많은 응원 부탁드립니다.

좋은 웹페이지 즐겨찾기