정규 표현 식 (정규, REs 또는 regexes 또는 regex 패턴)

2969 단어
. ^  $  *  +  ?  {}  []  \  |  ()

이상 은 모두 메타 문자 가 되 었 습 니 다.
메타 문자 의.: 줄 바 꿈 자 를 제외 한 모든 문자 와 일치 합 니 다. re. DOTALL 플래그 가 설정 되 어 있 으 면 줄 바 꿈 자 를 포함 한 모든 문자 와 일치 합 니 다.
원 문자 의 []: 일치 하 는 모든 내용 을 [] 에 넣 을 수 있 습 니 다. [a - z] 는 소문 자 를 표시 합 니 다.
원 문자 의 ^: [^ 3] 는 '5' 를 제외 한 모든 문자 와 일치 할 것 임 을 표시 합 니 다.
메타 문자 *: 이전 문자 가 0 번 또는 여러 번 일치 하 는 것 을 지정 하 는 데 사 용 됩 니 다. 예 를 들 어 do * g 는 dg, dog, doog 와 일치 하 는 것 을 깨 뜨 립 니 다.
메타 문자 +: 이전 문자 가 한 번 또는 여러 번 일치 하 는 지 지정 하 는 데 사용 합 니 다.
메타 문자 의?:이전 문자 가 0 번 이나 한 번 일치 하 는 지 지정 하 는 데 사용 합 니 다.
원 문자 의 {}: {m, n} 이전 문 자 를 지정 하려 면 m 회 에서 n 회, {0,} = *, {1,} = +, {0, 1} = =?,{n} 이전 문자 n 회 반복 표시
원 문자 의 \: 역 슬 래 쉬 는 뒤의 원 문 자 를 특수 기능 을 제거 하고 역 슬 래 쉬 + 일반 문 자 는 특수 기능 을 실현 합 니 다.
\ 문자열 과 일치 하 는 문자열 이 필요 할 때 원본 문자열 r '를 사용 하 는 것 이 좋 습 니 다.예 를 들 어 '\ 섹스' 와 일치 하려 면 '\ \ \ \ \ 섹스' 를 사용 하고 원본 문자열 r '\ \ \ 섹스' 를 사용 해 야 합 니 다.
특수 문자
속뜻
\d
모든 십 진법 숫자 와 일치 하 며, [0 - 9] 에 해당 합 니 다.
\D
\ \ d 와 반대로 10 진수 가 아 닌 문자 와 일치 하 며 [^ 0 - 9] 에 해당 합 니 다.
\s
모든 공백 문자 와 일치 합 니 다 (줄 바 꿈 문자 탭 공백 포함). [\ t \ r \ f \ v] 에 해당 합 니 다.
\S
반대로
\w
모든 단어 문자 일치
\W
반대
\b
단어의 시작 이나 끝 과 일치 합 니 다.
\B
반대
match()
정규 표현 이 처음부터 문자열 과 일치 하 는 지 판단 합 니 다.
search()
문자열 을 옮 겨 다 니 며 정규 표현 식 과 일치 하 는 첫 번 째 위 치 를 찾 습 니 다.
findall()
문자열 을 옮 겨 다 니 며 정규 표현 식 과 일치 하 는 모든 위 치 를 찾 고 목록 으로 되 돌려 줍 니 다.
finditer()
문자열 을 옮 겨 다 니 며 정규 표현 에 일치 하 는 모든 위 치 를 찾 고 교체 기 형식 으로 되 돌려 줍 니 다.
정규 표현 식 이 패턴 대상 으로 컴 파일 됨
import re
p = re.compile('    ')
>>> p = re.compile('[a-z]+') 
>>> m=p.match('kiss') #     m=p.search('kiss')
>>> m.group() #        
'kiss'
>>> m.start() #         
0
>>> m.end() #         
4
>>> m.span() #            
(0, 4)
>>> 

search () 와 match () 의 차이 점:
>>> import re
>>> p = re.compile('[a-z]+')
>>> m = p.search('<>>> m.start()
3
>>> print(p.match('<>>> 

표지
속뜻
ASCII,A
전의 기 호 를 \ w, \ b, \ s 와 \ d 와 ASCII 문자 만 일치 하도록 합 니 다.
DOTALL,S
줄 바 꿈 자 를 포함 하여 모든 기호 와 일치 하도록 합 니 다.
IGNORECASE,I
일치 할 때 대소 문 자 를 구분 하지 않 음
LOCALE,L
현재 언어 설정 지원
MULTILINE,M
여러 줄 일치, 영향 ^ $
VERBOSE,X(for ‘extended’)
자세 한 정규 표현 사용 시
#                   
>>> re.split('\W+','runoob, runoob, runoob.')
['runoob', 'runoob', 'runoob', '']
>>> re.split('(\W+)','runoob, runoob, runoob.')
['runoob', ', ', 'runoob', ', ', 'runoob', '.', '']
>>> 

좋은 웹페이지 즐겨찾기