Huin999 2021. 7. 26. 15:33

▶  문제 : 

▶  내 답안 : 

import re
valid_date = re.compile(r"""(?!\[00-\d*\])(?!\[\d*-00\]) #00-dd, #dd-00 제거
                        (?!\[1[3-9]\d*-[0-3]\d*\])
                        (?!\[[0-1]\d*-3[2-9]\d*\])
                        (?!\[02-29\])(?!\[02-30\])(?!\[02-31\])
                        (?!\[04-31\])(?!\[06-31\])(?!\[09-31\])(?!\[11-31\])
                        (?!\[[0-1]\d*-3[2-9]\d*\]) # 32이상 제거
                        \[[0-1]\d*-[0-3]\d*\]""", re.VERBOSE)

▶  모범답안 : 

import re                   #         Months      -         Days  
valid_date = re.compile(r"""  \[ (0[13578]|1[02]) - (0[1-9]|[12]\d|3[01])\]       # months with 31 days
                            | \[    (0[469]|11)   - (0[1-9]|[12]\d|30)\]          # months with 30 days
                            | \[        02        - ([01][1-9]|10|2[0-8])\]""",   # February  
                        re.VERBOSE)

▶  배워야할 부분 : re.VERBOSE()