在正则表达式django url中写' - '

时间:2014-12-24 23:38:02

标签: regex django django-urls

我想在django网址中接受:

StoreageLocation/X-YYY-X   (E-152-A , E-112-B)  

(其中X是[A-Z],Y是[0-9]

首先,我尝试用以下方法解决X-YYY:

url(r'^StorageLocation/\[A-Z\-0-9{3}])$', views.StorageLocation, name='StorageLocation'),

但这不起作用。请帮忙。

1 个答案:

答案 0 :(得分:1)

检查一个大写字母,然后破折号,然后是3个数字,破折号和一个大写字母:

url(r'^StorageLocation/[A-Z]\-[0-9]{3}\-[A-Z]$', views.StorageLocation, name='StorageLocation'),

演示:

>>> import re
>>> pattern = re.compile(r'[A-Z]\-[0-9]{3}\-[A-Z]')
>>> pattern.match('E-152-A')
<_sre.SRE_Match object at 0x103aba6b0>
>>> pattern.match('E-112-B')
<_sre.SRE_Match object at 0x103abab90>