Machine learning/NLP
[전처리]. 핸드폰 번호 , 계좌번호 , 주소 필터링(Python 정규표현식)
Acdong
2021. 10. 14. 16:52
728x90
def number_fillter(self,input_text):
# 연속된 숫자 필터
nf = re.compile("(\d{8,20})")
# 휴대폰번호 필터
pn = re.compile("(\d{2,6}[ -]-?\d{2,6}[ -]-?\d{2,6})")
# 계좌번호 필터
ac = re.compile("(\d{2,6}[ -]-?\d{2,6}[ -]-?\d{2,6}[ -]-?\d{2,6})")
#검색
if pn.search(input_text):
return 1
elif ac.search(input_text):
return 1
elif nf.search(input_text):
return 1
else:
return 0
주소
personal_patterns = {
"ad1": r"(\S+[시,도])\s?(\S+[구,군])\s?(\S+)\s?(\d{1,5}(-\d{1,5})?)?",
"ad2": r"(\S+[시,도])\s?(\S+[구,군])\s?(\S+)\s?(\d{1,5})\s?(길|로|길|로)\s?(\d{1,5}(-\d{1,5})?)?",
"ad3": r"([가-힣A-Za-z·\d~\-.]+(읍|동|번지)\s)[\d]+",
"ad4": r"([가-힣a-zA-Z\d]+(아파트|빌라|빌딩|마을|동|호))",
}
반응형