: 모든 언어 공통, 문자열 처리할 때 사용
python에서 정규 표현식을 지원하는 모듈
import re
p=re.compile()
문자 클래스 []
: [] 사이의 문자들과 매치
하이픈을 사용하여 from-to 로 표현 가능
ex) [a-c] = [abc]
Dot(.)
: 줄바꿈(\n)을 제외한 모든 문자와 매치
ex) a.b의 경우, a0b aab 모두 매치 / abc 는 a b 사이에 문자가 없기 때문에 매치 되지 않음
반복
1) *: 0번 이상 반복 되는 경우 매치
ex) cat 의 경우, ct cat caaaaat 등 매치
2) +: 1번 이상 반복 되는 경우 매치
3) {m,n}
m번, n번 반복 되는 경우 매치
4) ? == {0,1}
match
: re.compile()의 조건에 맞는 경우 매치 / 아닌 경우 None
search
: re.compile()의 조건에 맞는 경우 매치 / 조건에 안 맞아도 맞는 부분을 리턴함
findall
:re.compile()의 조건에 일치하는 것을 리스트에 담아서 리턴함
finditer
re.compile()의 조건에 맞는 경우, itrerator object로 리턴함
for 문을 통해 담긴 것을 확인해보면 match 되는 문자열을 다 match 객체 형태로, 반복 가능한 객체 하나로 리턴함
컴파일 옵션 re.옵션
백슬래시 \
위와 같은 문자 클래스로 인해 \section과 같은 경우 \s+ection으로 인식함
--> 이를 구분하기 위해 \s로 입력해야 함
--> 그러나 문자열에서 \ == \
--> \\section == r'\section 으로 간소화 하여 입력 가능
메타문자
그룹핑 ()
?P<name> : 그룹핑된 문자열에 이름 붙이기
(?=원하는 문자열)
(?!원하는 문자열$)
여러개 사용하고 싶은 경우 :
(?!문자열$|문자열$)