关于Django URL的最常见正则表达式

时间:2016-05-31 03:50:26

标签: regex django

我通常一直在与Regex斗争,我想知道是否有类似于django上的URLS.py的普通正则表的词汇表。 有一些urls.py正则表达形成的cheatsheet真的很有帮助。

任何经验Django用户都可以列出他们最常见的urls.py正则表达式输入?

1 个答案:

答案 0 :(得分:2)

我没有使用“常用”列表,但有一些常见的模式,以及一些简单的规则:

  1. 插入符号(^)表示“以”开头。
  2. 美元符号($)表示“结束”。
  3. 问号(?)表示“可选”。
  4. 您可以使用(?Ppattern)格式对模式进行分组和命名。
  5. 因此,对于没有任何参数的简单网址,您需要学习^url$模式。例子:

    url(r'^foo$', 'app.view')
    url(r'^foo/subdirectory/?$', 'app.view')
    

    对于参数,您将需要使用分组机制:

    url(r'^foo/(?P<parameter_name>[-\w]+)/$', 'app.view')
    url(r'^foo/(?P<parameter_name>[-\w]+)/(?P<parameter_two_name>[-\w]+)/$', 'app.view')
    

    [-\w]模式意味着“任何不是空白的东西”。括号[]确定您将接受一系列可能字符中的字符作为匹配项,\w是“空白字符”的捷径,前面是-捷径意味着“什么都没有”。括号后面的“+”表示“之前的图案必须重复”。

    RegEx是一个完整而复杂的主题,但上面三个例子涵盖了我urls.py文件中大部分内容的90%。