이 글에서는 Python 정규식의 비 욕심 및 다중 줄 일치 기능을 주로 소개합니다. Python 정규식의 욕심 없음 및 다중 줄 일치 기능의 구현 방법과 관련 주의 사항을 예제 형식으로 분석합니다. 필요한 경우 다음을 참조할 수 있습니다.
이 문서의 예에서는 Python 정규 표현식의 탐욕스럽지 않은 여러 줄 일치 기능을 설명합니다. 다음과 같이 참고할 수 있도록 모든 사람과 공유하세요.
일부 일반 팁:
1 탐욕스럽지 않은 플래그
>>> re.findall(r"a(\d+?)","a23b") # 非贪婪模式 ['2'] >>> re.findall(r"a(\d+)","a23b") ['23']
이 상황을 주의 깊게 비교해 보세요.
>>> re.findall(r"a(\d+)b","a23b") ['23'] >>> re.findall(r"a(\d+?)b","a23b") #如果前后均有限定条件,则非匹配模式失效 ['23']
2 원하는 경우 여러 줄을 일치시킨 다음 re.S 및 re.M 플래그를 추가합니다.
re.S: .는 기본적으로 줄바꿈과 일치합니다.
>>> re.findall(r"a(\d+)b.+a(\d+)b","a23b\na34b") [] >>> re.findall(r"a(\d+)b.+a(\d+)b","a23b\na34b",re.S) [('23','34')] >>>
re.M: ^$ 플래그는 기본적으로 모든 줄과 일치합니다. 기본적으로 $는 일반 패턴을 따르는 첫 번째 줄에만 일치합니다.
>>> re.findall(r"^a(\d+)b","a23b\na34b") ['23'] >>> re.findall(r"^a(\d+)b","a23b\na34b",re.M) ['23','34']
^ 기호가 없으면
>>> re.findall(r"a(\d+)b","a23b\na34b") ['23','43']
가 표시되므로 다시 설정할 필요가 없습니다.
위 내용은 Python의 정규식 비탐욕 및 여러 줄 일치 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!