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]+(아파트|빌라|빌딩|마을|동|호))",
}

 

 

반응형