Lesson1
link
regex = r'0\d{1,2}[ -]?\d{3,4}[ -]?\d{3,4}'
search_target = '''Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''
import re
result = re.findall(regex, search_target)
print("\n".join(result))
Lesson2
숫자 대표문자
\d
\d
는 숫자를 대표하는 정규표현식
이때 d는 digit을 의미한다.
regex = r'\d'
result = re.findall(regex, search_target)
Lesson3
글자 대표문자
\w
\w
는 글자를 대표하는 정규표현식
\w
는 a, b, c, 가, 나, 다, 1, 2와 같은 문자와 숫자를 포함한다.
- 특수문자는 포함하지 않지만,
_
(언더스코어)는 포함한다.
regex = r'\w'
result = re.findall(regex, search_target)
Lesson4
하나 이상
\d
\d
는 숫자를 한글자만 찾는다.
- 전화번호를 구성하는 043이나 2568같이 연결된 숫자를 찾고 싶을 때는
+
를 이용한다.
+
+
는 "하나 혹은 그 이상 연결된"이라는 뜻
- 따라서
\d+
는 "하나 혹은 그 이상 연결된 숫자"를 의미
regex = r'\d+'
import re
result=re.findall(regex,search_target)
print(result)
실행 결과
['02', '123', '4567', '070', '9999', '9999', '010', '2454', '3457']
Lesson5
0개 이상
*
*
은 "0개 이상"이라는 뜻
- 따라서
\d*
는 "숫자가 0개 이상이다"를 의미
- 이를 이용하면 자연수는
[1-9]\d*
로 표현할 수 있다.
regex = r'\d*'
import re
result = re.findall(regex, search_target)
print("\n".join(result))
실행 결과
2
123
4567
70
9999
9999
10
2454
3457