컴퓨터이야기

파이썬에서 정규식을 지원하는 라이브러리 re

서연유진맘 2023. 12. 11. 17:25

import re

re.findall("[a-zA-Z0-9]", "How are you?")

이렇게 쓰는데는 줄임 표현인 \w 가 있다!

re.findall("[\w]", "How are you?")

 

\w에는 공백이 포함되지 않는다. 이를 이용하면 공백이나 쉼표 등으로 구분되는 단어들을 찾아낼 수 있다.

"[\w]+"

+가 1번 이상 반복을, {2,4}를 이용하면 횟수 지정 가능

 

[\w']+  와 [\w]+  차이

from nltk.tokenize import RegexpTokenizer
tokenizer = RegexpTokenizer("[\w']+") #regular expression(정규식)을 이용한 tokenizer
#단어단위로 tokenize \w:문자나 숫자를 의미 즉 문자나 숫자 혹은 '가 반복되는 것을 찾아냄
print(tokenizer.tokenize("Sorry, I can't go there."))
# can't를 하나의 단어로 인식

세글자 이상의 단어들만

tokenizer = RegexpTokenizer("[\w']{3,}") 
result = [word for word in tokens if word not in english_stops]