이메일 정규식 패턴 매칭을 활용한 NLP 처리
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
Python 개발자 및 NLP 초보자
- 난이도: 중급 (정규식 기초 지식이 필요)
핵심 요약
- 이메일 패턴 구조:
\w]+@[\w]+.[\w]+
형식으로 사용자명, 도메인, 확장자 구성 - 정규식 활용:
re.search()
및group()
메서드로 이메일 추출 가능 - 도메인 특화 패턴:
gmail.com
,hotmail.in
등 특정 도메인 제한 가능
섹션별 세부 요약
1. 이메일 패턴 기본 구조
- 이메일은 대소문자, 숫자, 특수문자를 포함한 알파벳 숫자 조합으로 구성
- 예시:
datatoinfinity@hotmail.com
→ 사용자명(datatoinfinity
), 도메인(hotmail
), 확장자(com
) - 패턴:
\w]+@[\w]+.[\w]+
(정규식으로 표현)
2. Python 정규식 활용 예시
re.search(pattern, mail)
로 이메일 존재 여부 확인group()
메서드로 매칭된 이메일 전체 추출
```python
print(re.search('[\w]+@[\w]+.[\w]+', 'datatoinfinity@hotmail.com').group())
# 출력: datatoinfinity@hotmail.com
```
3. 특정 도메인 제한 패턴
gmail.com
,hotmail.in
등 특정 도메인 제한 시 패턴 수정
```python
pattern='[\w]+@(gmail).(com|in|org)'
```
hotmail.in
은 패턴에 해당하지 않아None
반환
4. 패턴 오류 분석
hotmail.in
과gmail.com
의 경우, 패턴이gmail
만 허용하므로 매칭 실패- 확장자(
com
,in
,org
)를|
로 조건 추가 시 다중 도메인 지원 가능
결론
- 이메일 추출 시
\w]+@[\w]+.[\w]+
패턴 사용 권장 group()
메서드로 정확한 이메일 추출 가능- 특정 도메인 제한 시
(com|in|org)
와 같은 조건식 추가 필요 - Python 3.10 기준
re
모듈 사용 시 테스트 및 예외 처리 필수