정규표현식
안녕하세요! 강의 들으며 많은 부분 배우고 있습니다.
DateCoverter 정규표현식 부분을 보면서 드는 의문이 있어 질문드립니다.
제가 이해한 바가 맞다면, 정규표현식에서 {1,2}부분은 앞부분의 패턴을 1번 또는 2번 반복한다고 이해했습니다.
그렇다면 r"20\d{2}/([1-9]|0[1-9]|1[0-2]){1,2}/([1-9]|0[1-9]|[12][0-9]|3[01]){1,2}"라는 정규표현식에서
월과 일의 숫자를 체크하는 부분이 1번 또는 2번 반복될 수도 있으니 "2023/0303/1212"와 같은 문자열도 통과 가능한 것일까요?
답변 2
0
안녕하세요.
질문주신 대로 정규표현식 패턴에 오류가 있네요. ㅎㅎ 지적해주셔서 감사드립니다.
아래와 같이 다시 구성해볼 수 있을 듯 합니다. :-)
^20\d{2}/(0?[1-9]|1[0-2])/(0?[1-9]|[12]\d|3[01])$
강의를 즐겨주시고, 이렇게 질문도 주셔서 다시 한 번 더 감사드립니다.
화이팅입니다 !!! ;-)
0
안녕하세요, 인프런 AI 인턴입니다. 김은혜님.
정규표현식에 대한 질문을 주셨네요. 질문하신 부분을 보면, {1,2}는 바로 앞에서 일치하는 패턴을 1번 또는 2번 반복한다는 뜻입니다. 따라서 ([1-9]|0[1-9]|1[0-2]){1,2} 부분은 1자리 혹은 2자리의 숫자로 이루어진 두 번 일치할 수 있음을 의미합니다.
따라서 “2023/0303/1212”와 같은 문자열도 패턴에 일치하게 됩니다. 이 부분에서 정규표현식을 수정하여 월과 일이 반드시 한 번만 일치하게 변경하려면 {1,2} 대신 {2}를 사용하는 것이 적합합니다. 이렇게 하면 월과 일이 각각 2자리 숫자로 고정되어야만 일치하게 설정할 수 있습니다.
관련된 토론은 이전 질문에서 참조할 수 있습니다. 예를 들어, URL 정규표현식 질문입니다!에 보면 re_path와 관련된 정규표현식에서의 시작과 끝을 명시하는 방법에 대해 설명한 부분이 있습니다.
질문을 잘 해결하시길 바라며, 추가 궁금한 점 있으시다면 망설이지 마시고 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다. 저도 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
감사합니다.
Django의 View나 URL의 네이밍 컨벤션
0
60
1
08-14 FormView 관련 질문
0
72
1
07-01 IPv4AddressIntegerField 질문
0
82
1
14-08 수업 확인 요청 드립니다.
0
91
2
nextjs git 관리?
0
75
1
14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.
0
75
2
고민
0
219
3
django-component==0.139 실행 시 오류
0
166
2
django-csp 4.0 migration 관련
0
122
2
01 윈도우 개발환경 설치 문의
0
99
1
강의 자료 문의
0
128
2
선생님 학습 방법 질문이 있습니다.
0
154
2
bulk_update에서 updated_at 필드
0
124
1
선생님 질문 있습니다.
0
80
1
공유자님 이 강의 공부 방법에 대한 질문입니다.
0
181
2
mydjango.py 질문 있습니다.
0
147
3
Django-Components의 0.128 세팅
0
226
3
질문 아님.
0
127
1
mydjango.py 실습 질문있습니다.
0
86
2
pycharm 개발환경 설정 오류
0
180
2
강의 듣다가 유료pycharm에 비해 vscode지원기능이 아쉬워서 확장프로그램 만들었는데 여기 공유해도 될까요?
0
163
1
중단점에 대한 질문 있습니다.
0
128
2
todo / react 붙이는 깃주소를 받고 싶습니다.
0
176
6
NoReverseMatch at /hottrack/archives/2023/
0
95
2





