1. re 사용 패턴
| 패턴 문자 | 의미 |
| . | 줄바꿈 문자를 제외한 1글자를 의미 |
| ^ | 문자열의 시작을 의미. 또는 not의 의미. |
| $ | 문자열의 끝을 의미 |
| [] | 문자의 집합 e.g. [xyz] 라고 패턴을 적게되면 x또는 y또는 z라는 문자와 매칭됨. [x-z] : 이렇게 범위로도 적을 수 있음. [^a] : a를 제외한 모든 문자를 의미. |
| | | or의 의미 e.g. a|b : a 또는 b문자를 의미 |
| () | 어떤 정규식을 하나의 그룹으로 묶어줌 e.g. ([a-c])([x-z]) : a, b, c와 매칭될 수 있는 그룹 1개와 x, y, z와 매칭될 수 있는 그룹을 의미. ax, az, by 등은 위 패턴과 매칭됨. 만약 괄호라는 문자 자체를 매칭하고싶으면 \(, \) 등으로 백슬래쉬를 이용한 escape를 해줘야 함. |
| * | 어떤 문자건 0회 이상 반복되는 패턴을 나타냄 e.g. a* : a가 0번 이상 반복되는 패턴을 나타냄 |
| + | 어떤 문자건 1회 이상 반복되는 패턴을 나타냄 e.g. a+ : a가 1번 이상 반복되는 패턴을 나타냄 |
| ? | 어떤 문자가 0회 또는 1회 반복되는 패턴을 나타냄 e.g. a? : a가 0번 또는 1번 존재하는 패턴을 나타냄 |
| {n} | 문자가 n회 반복되는 패턴을 나타냄 e.g. whi{3}te : whiiite를 의미 |
| {m, n} | 문자가 m회 ~ n회 반복되는 패턴을 나타냄 e.g. wh{2, 4}ite : whhite, whhhite, whhhite를 의미 |
| {m,} | 문자가 m회부터 무한대까지 반복되는 패턴을 나타냄 e.g. wh{2,}ite : whhite, whhhite, whhhhite, whhhhite, .... 등을 나타냄 |
| \w | Unicode = 숫자, underscore(_)를 포함하는 모든 언어의 표현가능한 문자. ASCII = underscore(_)를 포함한 문자 = [a-zA-Z0-9_]와 동일 |
| \W | Unicode = 숫자, underscore(_)를 포함하는 모든 언어의 표현가능한 문자를 제외한 나머지 문자 ASCII = underscore(_)를 포함한 문자를 제외한 나머지 문자 = [^a-zA-Z0-9_]와 동일 |
| \d | Unicode = 0~9의 숫자를 포함한 모든 숫자 ASCII = [0-9]와 동일 |
| \D | Unicode = 0~9의 숫자를 제외한 모든 숫자 ASCII = [^0-9]와 동일 |
| \s | Unicode = [\t\n\r\f\v]를 포함하는 공백문자 ASCII = [\t\n\r\f\v]와 동일\t = 탭\n = 줄바꿈\r = 캐리지 리턴\f = 폼피드\v = 수직 탭 |
| \S | Unicode = [\t\n\r\f\v]를 제외한 공백문자 ASCII = [^\t\n\r\f\v]와 동일 |
| \b | 단어의 시작과 끝에 존재하는 공백 |
| \B | 단어의 시작과 끝이 아닌 곳에 존재하는 공백 |
| \[숫자] | 표시된 숫자만큼 일치하는 문자열을 의미 |
| \A | 문자열의 시작 |
| \Z | 문자열의 끝 |
2. re.sub 사용 예시
- 문법 (origin_text에서 pattern과 일치한 부분을 change_text로 변경)
re.sub(pattern, change_text, origin_text)
- 기본 사용1 - 패턴을 찾고 변경
import re
text = '1234abc56'
text_re = re.sub(r'[1-4]', '', text)
print(text_re)
'''
--Result
abc56
'''
- 기본 사용2 - 패턴을 제외한 문자 제거
import re
text = '1234abc56'
text_re = re.sub(r'[^1-4a-z]', '', text)
print(text_re)
'''
-- Result
1234abc
'''
'ETC > Python' 카테고리의 다른 글
| [Python] 파이썬으로 로그 남기기 (Logging 모듈) (0) | 2023.11.01 |
|---|