url调度程序使用regexp检测全部和全部内容

时间:2014-03-11 17:10:18

标签: python regex django django-urls

我正在尝试创建一个URL调度程序,它会检测[a-zA-Z]个字符(一个单词)并且一无所有。

我试过这样的事情,但没有什么不行,只有字符。

url(r'(?P<search_word>[a-zA-Z].*?)/?$', 'website.views.index_view', name='website_index'),

我缺少什么?

1 个答案:

答案 0 :(得分:1)

我认为你想要这样的东西(注意[a-zA-Z]之后缺少一个点):

ur'^(?P<search_word>[a-zA-Z]*)/?$'

在原始正则表达式中,.*?将允许任何字符(例如,偶数空格)。此外,[a-zA-Z]只会匹配单个字符,除非后跟*+

以下是使用re模块的正则表达式的示例:

>>> import re
>>> re.match(ur'^(?P<search_word>[a-zA-Z]*)/?$', 'testString/')
<_sre.SRE_Match object at 0x02BF4F20>  # matches 'testString/'
>>> re.match(ur'^(?P<search_word>[a-zA-Z]*)/?$', 'test-String/')  # does not match 'test-String/' because of the hyphen
>>> re.match(ur'^(?P<search_word>[a-zA-Z]*)/?$', '')  # also matches empty string ''
<_sre.SRE_Match object at 0x02BF44A0>