Note
정규 표현식 ( Regular Expression ) 본문
728x90
1. 정규 표현식이란?
특정 규칙이 있는 텍스트 데이터를 좀 더 간편하고 빠르게 전처리 할 수 있는 방식이다.
2. 문법
문자 규칙 | 의미 |
\(역슬래쉬) | 문자 자체 |
\d | 모든 숫자( = [0-9] ) |
\D | 숫자를 제외한 모든 문자 ( = [^0-9] ) |
\s | 공백을 의미 ( = [\t\n\r\f\v] ) |
\S | 공백을 제외한 문자 ( = [^\t\n\r\f\v] ) |
\w | 문자 또는 숫자 ( = [a-zA-z0-9] ) |
\W | 문자 또는 숫자가 아닌 문자 ( = [^a-zA-z0-9] ) |
^문자가 오면 해당하는 것을 제외하고 라는 것을 알 수 있다.
특수 문자 | 의미 |
. | 한 개의 임의 문자 ( \n은 제외 ) |
? | 앞에 문자가 있을수도 없을수도 있다.( 0 or 1개 ) |
* | 앞에 문자가 무한개로 있을수도 없을수도 있다. ( 0개 이상 ) |
+ | 문자가 앞에 최소 한 개 이상 ( 1개 이상 ) |
^ | 뒤의 문자열로 시작 |
$ | 앞의 문자열로 끝 |
{a} | a 만큼 반복 |
{a, b} | a 이상 b 이하만큼 반복 |
{a, } | a 이상만큼 반복 |
위의 표에서 a와 b는 임의의 숫자를 표현하기 위해서 사용했다.
3. 모듈 함수
정규 표현식 함수는 re를 사용해서 표현할 수 있다.
함수 | 의미 |
re.sub() | 문자열 안에서 일치하는 부분을 다른 부분으로 대체 |
re.split() | 정규표현식 기준으로 문자열을 분리하여 반환 |
re.match() | 문자열 처음이 같은 문자열을 검색 |
re.search() | 문자열 전체에 대해 같은 문자열을 검색 |
re.compile() | 정규 표현식을 파이썬에게 전해주는 역할 패턴이 빈번한 경우에 유용하다 |
re.findall() | 매치되는 모든 문자열을 리스트로 반환 없을 경우 빈 리스트로 반환 |
re.finditer() | 정규표현식과 일치하는 부분을 다른 문자열 대체 |
'Deep Learning > NLP' 카테고리의 다른 글
유사도 (0) | 2021.08.05 |
---|---|
언어 모델 (Language Model) (0) | 2021.08.02 |
표제어 추출 (Lemmatization) (0) | 2021.07.27 |
어간 추출 (Stemming) (0) | 2021.07.27 |
불용어 (Stopword) (0) | 2021.07.27 |
Comments