Note

정규 표현식 ( Regular Expression ) 본문

Deep Learning/NLP

정규 표현식 ( Regular Expression )

알 수 없는 사용자 2021. 7. 29. 00:14
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