정규 표현 식 (정규, REs 또는 regexes 또는 regex 패턴)
. ^ $ * + ? {} [] \ | ()
이상 은 모두 메타 문자 가 되 었 습 니 다.
메타 문자 의.: 줄 바 꿈 자 를 제외 한 모든 문자 와 일치 합 니 다. 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', '.', '']
>>>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.