Python 정규 표현 식 비 탐욕,다 중 일치 기능 예제
일부 regular tips:
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
a34b")
[]
>>> re.findall(r"a(\d+)b.+a(\d+)b","a23b
a34b",re.S)
[('23','34')]
>>>
re.M:^$플래그 는 줄 마다 일치 합 니 다.기본^는 정규 에 맞 는 첫 줄 만 일치 합 니 다.기본$는 정규 에 맞 는 마지막 줄 만 일치 합 니 다.
>>> re.findall(r"^a(\d+)b","a23b
a34b")
['23']
>>> re.findall(r"^a(\d+)b","a23b
a34b",re.M)
['23','34']
하지만^로고 가 없다 면,
>>> re.findall(r"a(\d+)b","a23b
a34b")
['23','43']
이 를 통 해 알 수 있 듯 이 re.M 이 필요 없습니다.
import re
n='''12 drummers drumming,
11 pipers piping, 10 lords a-leaping'''
p=re.compile('^\d+')
p_multi=re.compile('^\d+',re.MULTILINE) # MULTILINE
print re.findall(p,n) #['12']
print re.findall(p_multi,n) # ['12', '11']
import re
a = 'a23b'
print re.findall('a(\d+?)',a) #['2']
print re.findall('a(\d+)',a) #['23']
print re.findall(r'a(\d+)b',a) #['23']
print re.findall(r'a(\d+?)b',a) # ['23']
b='a23b
a34b'
''' . '''
print re.findall(r'a(\d+)b.+a(\d+)b',b) #[]
print re.findall(r'a(\d+)b',b,re.M) # ['23', '34']
print re.findall(r'^a(\d+)b',b,re.M) # ['23', '34']
print re.findall(r'a(\d+)b',b) #['23','34']
print re.findall(r'^a(\d+)b',b) # ['23'] ^
print re.findall(r'a(\d+)b$',b) # ['34'] $
print re.findall(r'a(\d+)b',b,re.M) #['23', '34']
print re.findall(r'a(\d+)b.?',b,re.M) # ['23', '34'] '.' ,'?' 0 1
print re.findall(r"a(\d+)b", "a23b
a34b") # ['23', '34']
주:Python 3.4 에서 print 는 함수 이 므 로 괄호 를 넣 어야 합 니 다.PS:여기 서 여러분 께 매우 편리 한 정규 표현 식 도구 2 가 지 를 제공 합 니 다.참고 하 시기 바 랍 니 다.
JavaScript 정규 표현 식 온라인 테스트 도구:
http://tools.jb51.net/regex/javascript
정규 표현 식 온라인 생 성 도구:
http://tools.jb51.net/regex/create_reg
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.