알아두면 유용한 정규표현식
- r'문자열' : 이스케이프 문자를 적용하지 않고 기호를 사용할 수 있음
- . (dot): dot 하나 당 하나의 문자와 일치시킨다.
- {숫자} : 숫자의 개수 만큼 문자의 개수가 늘어난다.
ex) .../test1/0123456789 (O)
re_path(r'test1/(.{10})/$', views.test1),
- ^ (caret) : 오른쪽의 표현식으로 시작하는 문자열과 일치시킨다.
ex) .../test3/test2abcde123 (O)
re_path(r'^test2', views.test2),
- $ (dollar): 왼쪽의 표현식으로 끝나느 문자열과 일치시킨다.
ex) .../test3/abcde123test3 (O)
re_path(r'test3$', views.test3),
- ? (question) : 퀘스천 왼쪽의 표현식으로 끝나는 문자열이 없거나 있어야 하는 경우
ex) .{3}? => 세개의문자 중 하나의 문자가 없거나 있어도 된다.
re_path(r'test4/(.{2}?)', views.test4),
- *(asterisk) : 왼쪽의 표현식으로 끝나는 문자열이 0개 이상
ex) .../test5/0123123abcd (O) , .../test5/ (O)
re_path(r'test5/(.*)', views.test5),
- +(plus) : 플러스 왼쪽의 표현식으로 끝나는 문자가 1개 이상
ex) .../test5/0123123abcd (O) , .../test5/ (X)
re_path(r'test6/(.+)', views.test6),
- [0-9] : 0 ~ 9 사이의 하나 값 처리 된다.
- [a-z] : 영문 소문자 하나 값 처리 된다.
- [A-Z] : 영문 대문자 하나 값 처리 된다.
- [ㄱ-힣] : 한글 하나 값 처리 된다.
- {숫자, 숫자} : 첫 숫자 ~ 끝 숫자 처리 된다.
- [0-9]{3,5} : 숫자 3개 ~ 숫자 5개 처리 된다.
- \d : [0-9] 와 동일 하게 처리된다
- \D : [0-9] 을 제외시키고 처리 된다.
- \w : [a-zA-Z0-9_] 표현식과 동일하게 처리된다.
- \W : [a-zA-Z0-9_] 표현식을 제외하고 처리 된다.
re_path(r'test12/([0-9a-zA-z]+[@][0-9a-zA-z]+[.][0-9a-zA-z]+)', views.test12),