파이썬

정규표현식에 사용되는 문자의 의미.

mcdn 2020. 9. 13. 17:53
반응형

URL 패턴에 정규표현식을 사용하면 더 복잡한 URL을 표현할 수 있다.

from django.urls import path, re_path

from . import views

urlpatterns = [
    path('articles/2003', views.special_case_2003), 
    re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archieve), 
    re_path(r'^articles/(?P<year>[0-9]{4}/(?P<month>[0-9]{2}/$', views.month_archieve), 
    re_path(r'^articles/(?P<year>[0-9]{4}/(?P<month>[0-9]{2}/(?P<slug>[\w-]+/$', views.article_detail),
]

정규표현식에 사용되는 문자의 의미는 다음과 같다. 

 

. (Dot) 모든 문자 하나(any single character)
^ (Caret) 문자열의 시작
$ 문자열의 끝
[ ] [ ]괄호에 있는 문자하나. 예를 들어 [akz]면 a or k or z. 
[^ ] [ ]괄호에 있는 문자 이외의 문자 하나. 예를 들어 [^ab]이면 a와 b 를 제외한 문자 하나. 
* 0번 이상 반복. {0,}과 동일
+ 1번 이상 반복. {1,}과 도일
? 0번 또는 1번 반복. {0,1}과 동일
{n} n번 반복
{m,n} 최소 m번에서 최대 n번까지 반복 
OR. 예를 들어 A|B 면 A 또는 B
[a-z] a에서 z까지 임의의 문자. 즉 영문 소문자 한 개
\w 영문, 숫자 또는 밑줄(_) 한개. [0-9a-zA-Z_]과 동일
\d 숫자 한 개. [0-9]와 동일

 

반응형