Python
정규표현식 (Regular Expressions)
IT_달토끼
2022. 10. 3. 23:26
메타문자(meta characters): 본래의 의미 이외로 사용되는 문자 (e.g.) ? , . + ^ \
[-] : 괄호 내 두 문자/숫자의 범위, [a-z]는 알파벳 소문자 전체를 의미, [0-9]는 0~9까지의 숫자를 의미
^(carat) : not을 의미
.(dot) : 줄바꿈 문자인 \n을 제외한 모든 문자
*(asterisk) : * 앞에 있는 문자가 0번 이상 반복
+(plus) : + 앞에 있는 문자가 1번 이상 반복
?(question) : ? 앞에 있는 문자가 0번이나 1번 반복
{m, n} : {} 앞에 있는 문자가 m번 이상 n번 이하 반복
\d : 숫자와 매치, [0-9]와 동일한 표현
\D : 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현
\s : whitespace 문자(화면에 표시되지 않는 공백을 표현하는 문자), [ \t\n\r\f\v]와 동일한 표현
\S : whitespace 문자가 아닌 문자, [^ \t\n\r\f\v]와 동일한 표현
\w : 문자+숫자와 매치, [a-zA-Z0-9]와 동일한 표현
\W : 문자+숫자가 아닌 문자와 매치, [^a-zA-Z0-9]와 동일한 표현
re 모듈: 파이썬에서 정규표현식을 지원하는 기본 라이브러리
# re 객체의 메서드
메서드 | 목적 |
match() | 문자열의 처음부터 정규식과 매치되는 지 확인 후 match 객체 반환, 매치되지 않으면 None 반환 |
search() | 문자열 전체를 검색하여 정규식과 매치되는 지 확인 후 match 객체 반환, 매치되지 않으면 None 반환 |
findall() | 정규식과 매치되는 모든 문자열을 리스트로 반환 |
finditer() | 정규식과 매치되는 모든 문자열을 반복가능한 객체로 반환 |
# match 객체의 메서드
메서드 | 목적 |
group() | 매치된 문자열을 반환 |
start() | 매치된 문자열의 시작 위치를 반환 |
end() | 매치된 문자열의 끝 위치를 반환(끝 위치는 포함되지 않음, range 함수와 유사) |
span() | 매치된 문자열의 (시작, 끝)에 해당하는 값을 튜플형태로 반환 |