패스트캠퍼스 한 번에 끝내는 파이썬 웹 개발 초격차 패키지 pt2 - 파이썬 re모듈 실습문제

정영찬·2022년 2월 5일
0

yyyy/mm/dd 형식으로 표현된 날짜 검사

1.연도는 4자리숫자로 제한(1000~9999)
2.월은 1월~12월, 일은 1일~31까지 가능

2022/08/08
1000/01/01
9999/12/31
900/02/02
12000/10/26
2021/13/01
2023/2/02
2024/06/3
2023/06/35
import re
datas=[

'2022/08/08',
'1000/01/01',
'9999/12/31',
'900/02/02',
'12000/10/26',
'2021/13/01',
'2023/2/02',
'2024/06/3',
'2023/06/35'

]

regex ='^\d{4}/(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])$'

for data in datas:
    matchObj = re.match(regex, data)
    result = (lambda x : True if x != None else False)(matchObj)
    print(f'{data} {result}')
    

결과 화면

이메일 형식 검사 정규표현식 작성

  1. 이메일은 ID파트와 host 파트가 있다. (ID @host)
  2. ID 파트는 영문 대소문자, 숫자, 특수문자(-_)가 들어갈 수 있다.
  3. host파트는 영문 대소문자 ,숫자, 특수문자(-)
  4. host파트는 2개 이상의 도메인으로 구성될수 있다(.com, .co.kr)
startcoding@maver.com
start-coding@maver.com
start_coding@maver.co.kr
startcoding@k-mail.com
@maver.com
startcoding?@k-mail.com
startcoding@k-mail
startcoding@maver
 # 실습문제 2번
import re
regex =re.compile('^[\w-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$')

datas= [   
'startcoding@maver.com',
'start-coding@maver.com',
'start_coding@maver.co.kr',
'startcoding@k-mail.com',
'@maver.com',
'startcoding?@k-mail.com',
'startcoding@k-mail',
'startcoding@maver'
]

for data in datas:
    matchObj = regex.match(data)
    result = (lambda x : True if x != None else False)(matchObj)
    print(f'{data} {result}')

결과 화면

profile
개발자 꿈나무

0개의 댓글