Flask-Study
Werkzeug의 PathConverter
코딩갱
2022. 11. 13. 22:51
정규표현식
정규표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식이다.
정규표현식 문자들은 아래와 같다.
- ^ : 문자열의 시작과 매치
- $ : 문자열의 마지막과 매치
- ^ $ : 사이에 있는 글자가 정확히 들어맞아야 함
- . : 아무 글자(띄어쓰기 포함, 줄바꿈은 제외)
- [] : 대괄호 안에 있는 문자들 중 한글자
- [a-z] : a부터 z까지 임의의 글자
- | : 또는
- * : 최소 0번 이상 반복 ( {0, } 과 동일)
- + : 최소 1번 이상 반복
- ? : 0번 또는 1번 ( {0,1} 과 동일)
- {n} : n번 반복
Converter
Converter를 사용하면 포멧의 변수를 사용하지 않고 편하게 사용할 수 있다.
PathConverter 내용을 보면 경로에 사용되는 슬래쉬(/)를 포함하는 문자열을 리턴한다고 나와있다 자세한 부분은 아래와 같다.
class PathConverter(BaseConverter):
"""Like the default :class:`UnicodeConverter`, but it also matches
slashes. This is useful for wikis and similar applications::
Rule('/<path:wikipage>')
Rule('/<path:wikipage>/edit')
:param map: the :class:`Map`.
"""
regex = '[^/].*?'
weight = 200
regex 부분을 잘 살펴보면 위에서 알아본 정규표현식이 되어 있는 것을 볼 수 있다.
PathConverter에 regax부분이 정의되어 있기 때문에 path 하나로 정규표현식을 사용하게 되는 것이다.