파이썬(Python)

[파이썬] 전화번호, 이메일 정규식

worldpeace21 2020. 2. 17. 22:49

요새 문자열을 다루는 작업을 많이 하다보니, 자연스레 정규식을 공부할 필요성을 느꼈다.

그래서 공부할겸 몇가지 유용한 정규식을 적어보기로 했다.

 

1. 전화번호 정규식

 

import re

text = "우리집 집전화 번호는 00-111-2222이고, 나의 핸드폰 번호는 333-4444-5555이다."
phone_number_list = re.compile('\d{2,3}-\d{3,4}-\d{4}').finditer(text)
for phone_number in phone_number_list: # 전화번호와 인덱스를 출력한다.
	print(phone_number.group(), phone_number.span())    

 

결과는 아래와 같이 출력된다.

 

 

 

2. 이메일 정규식

 

import re

text = "내가 자주 쓰는 이메일은 hi@tistory.com 야. 두번째로 자주 쓰는 이메일은 hitistorycom 야"
email_list = re.compile('[a-zA-Z0-9_-]+@[a-z]+.[a-z]+').finditer(text)
for email in email_list: # 이메일과 인덱스를 출력한다.
	print(email.group(), email.span())

 

결과는 아래와 같이 첫번째 이메일만 출력된다. '@'와 '.'이 없는 형식의 이메일은 인식하지 못한다.