| 메타 문자 | 설명 |
|---|---|
| [ ] | 문자, 숫자 범위를 표현하며 + - 등의 기호를 포함할 수 있음 |
| {개수} | 특정 개수의 문자, 숫자를 표현 |
| {시작개수, 끝개수} | 특정 개수 범위의 문자, 숫자를 표현 |
| + | 1개 이상의 문자를 표현 |
| * | 0개 이상의 문자를 표현 |
| ? | 0개 또는 1개의 문자를 표현 |
| . | 문자 1개만 표현 |
| ^ | [ ] 앞에 붙이면 특정 문자 범위로 시작하는지 판단, 안에 넣으면 특정 문자 범위를 제외 |
| $ | 여러 문자열 중 하나라도 포함되는지 판단 |
| ( ) | 정규표현식을 그룹으로 묶음, 그룹에 이름을 지울 때는 ?P<이름> 형식 |
# 문자열에 특정 문자열이 포함되어있는지 확인
re.match('패턴', '문자열')
# 문자열이 맨 앞에 오는지
^문자열
# 문자열이 맨 뒤에 오는지
문자열$
re.search('패턴', '문자열')
문자열||문자열
문자열||문자열||문자열||문자열
# 문자가 0개 또는 1개인지 판단
문자?
# 문자 1개인지 판단
문자.
| 특수 문자 | 설명 |
|---|---|
| \ | 정규표현식에서 사용하는 문자를 그대로표현하려면 앞에 \를 붙임 |
| \d | [0-9]와 같음, 모든 숫자 |
| \D | [^0-9]와 같음, 숫자를 제외한 모든 문자 |
| \w | [a-zA-Z0-9_]와 같음, 영문 대소문자, 숫자, 밑줄 문자 |
| \W | [^a-zA-Z0-9_]와 같음, 영문 대소문자, 숫자, 밑줄 문자를 제외한 모든 문자 |
| \s | [ \t \n \r \f \v]와 같음, 공백(스페이스), \t, \n, \r, \v를 포함 |
| \S | [ \t \n \r \f \v]와 같음, 공백, \t, \n, \r, \v만 포함 |
| 함수 및 메소드 | 설명 |
|---|---|
| match('패턴', '문자열') | 문자열의 시작부터 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환 |
| search('패턴', '문자열') | 문자열의 일부분이 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환} |
| group(그룹) | 그룹에 매칭된 문자열 반환 |
| groups() | 각 그룹에 해당하는 문자열을 튜플로 반환 |
| findall('패턴', '문자열') | 패턴에 매칭된 문자열을 리스트로 반환 |
| sub('패턴', '바꿀문자열', '문자열', 바꿀횟수) | 패턴으로 특정 문자열을 찾은 뒤 다른 문자열로 바꿈 |
| compile('패턴') | 정규표현식 패턴을 객체로 만듦 |
| match('문자열') | 문자열의 사작부터 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환 |
| search('문자열') | 문자열의 일부분이 패턴에 매칭되는지 판단, 매칭되면 매치 객체 반환 |