Django——正则表达式的举例与基本语法

如果想在URLconf中加入URL和view,只需增加映射URL模式和view功能的Python tuple即可. 这里演示如何添加view中hello功能.

from django.conf.urls.defaults import * 
from mysite.views import hello 
 urlpatterns = patterns(‘‘,  (‘^hello/$‘, hello), )

Django在检查URL模式前,移除每一个申请的URL开头的斜杠(/)。 这意味着我们为/hello/写URL模式不用包含斜杠(/)。(刚开始,这样可能看起来不直观,但这样的要求简化了许多工作,如URL模式内嵌,我们将在第八章谈及。)

模式包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。

最好还是用范例来说明一下这个概念。 如果我们用尾部不是$的模式’^hello/’,那么任何以/hello/开头的URL将会匹配,例如:/hello/foo 和/hello/bar,而不仅仅是/hello/。类似地,如果我们忽略了尖号(^),即’hello/$’,那么任何以hello/结尾的URL将会匹配,例如:/foo/bar/hello/。如果我们简单使用hello/,即没有^开头和$结尾,那么任何包含hello/的URL将会匹配,如:/foo/hello/bar。因此,我们使用这两个符号以确保只有/hello/匹配,不多也不少。

你大多数的URL模式会以^开始、以$结束,但是拥有复杂匹配的灵活性会更好。

你可能会问:如果有人申请访问/hello(尾部没有斜杠/)会怎样。 因为我们的URL模式要求尾部有一个斜杠(/),那个申请URL将不匹配。 然而,默认地,任何不匹配或尾部没有斜杠(/)的申请URL,将被重定向至尾部包含斜杠的相同字眼的URL。 (这是受配置文件setting中APPEND_SLASH项控制的,参见附件D。)

如果你是喜欢所有URL都以’/’结尾的人(Django开发者的偏爱),那么你只需要在每个URL后添加斜杠,并且设置”APPEND_SLASH”为”True”. 如果不喜欢URL以斜杠结尾或者根据每个URL来决定,那么需要设置”APPEND_SLASH”为”False”,并且根据你自己的意愿来添加结尾斜杠/在URL模式后.

————————————————————————————分割线——————————————————————————————————

正则表达式 (或 regexes ) 是通用的文本模式匹配的方法。 Django URLconfs 允许你 使用任意的正则表达式来做强有力的URL映射,不过通常你实际上可能只需要使用很少的一 部分功能。 这里是一些基本的语法。

符号 匹配
. (dot) 任意单一字符
\d 任意一位数字
[A-Z] A 到 Z中任意一个字符(大写)
[a-z] a 到 z中任意一个字符(小写)
[A-Za-z] a 到 z中任意一个字符(不区分大小写)
+ 匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符)
[^/]+ 一个或多个不为‘/’的字符
* 零个或一个之前的表达式(例如:\d? 匹配零个或一个数字)
* 匹配0个或更多 (例如, \d* 匹配0个 或更多数字字符)
{1,3} 介于一个和三个(包含)之前的表达式(例如,\d{1,3}匹配一个或两个或三个数字)

有关正则表达式的更多内容,请访问 http://www.djangoproject.com/r/python/re-module/.

Django——正则表达式的举例与基本语法,布布扣,bubuko.com

时间: 2024-08-06 07:55:46

Django——正则表达式的举例与基本语法的相关文章

从头认识java-11.4 正则表达式(2)-基本语法

这一章节我们会简要的介绍一下正则表达式的基本语法. 我们的目的不是写出最复杂的表达式,是写出能够完成任务的表达式. 1.字符 字符 意义 \t 制表符 \n 换行 \r 回车 \f 换页 \e 转义 \xhh 十六进制 \uhhhh unicode十六进制 2.字符类 字符类 意义 . 任意字符 [abc] 包含abc的任意字符 [^abc] 不包含abc的任意字符 [a-zA-z] a-z的大小写任意字符 [abc[ijk]] 跟a|b|c|i|j|k的意义相同(并集) [a-z&&[i

Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)

阅读目录(Content) 模板语法之变量 模板之过滤器 default length filesizeformat date slice truncatechars safe 模板之标签 自定义标签和过滤器 模板继承 (extend) 模板语法之include 前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_dat

django中的urlpatterns的正则语法

^ 指定起始字符或字符串,放进[]代表否定 $ 指定终止字符 / 对应原来的字符 [...] 括号中表示一个字符的格式设置 \d 任何一个数字字符 \D 非数字的字符 \w 任何一个字符[a-zA-Z0-9] \W 非任何一个字符[^a-zA-Z0-9] ? 代表前面一个字符样式可以重复出现0次或1次 * 可以重复出现0次或0次以上 + 可以重复出现1次或1次以上 {m} 大括号中间数字m,代表前一个字符出现m次 {m,n} 代表前一个字符可以出现m-n次 | 或, (...) 小括号中间匹配,

Linux 基础入门 第一周9.14~9.20

第一节 Linux系统简介 Linux——操作系统 1.使多个用户从不同的终端同时操作主机(分时操作系统): 2.MINIX是一个功能有限的类似于UNIX的操作系统(UNIX 实现了 TCP/IP 协议栈): 3.Linux 本身只是操作系统的内核. 4.内核是使其他程序能够运行的基础.它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上. 5.一些必需的程序:命令行解释器(shell)——用于用户交互和编写 shell 脚本(.bat文件). 6.平台大都为开源

正则表达式教程:30分钟让你精通正则表达式语法

正则表达式不是某种编程语言,没有计算和处理问题的功能,它是一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串. 正则表达式应用举例: 防止SQL注入:尤其对于网站,安全是至关重要的,写好正则表达式,能够验证输入信息,保证输入数据的合法性,不至于不法人士侵入数据库破坏网站. 采集:从互联网上按照某种规则搜索想要的数据,对于分析复杂的HTML标签,正则表达式是一件利器. 验证数据:无论对于软件还是网站,用户输入的数据都需要验证后再提交,以得到安全和想要的数据. 常用匹配举例: 匹配中国电

php正则表达式入门-常用语法格式

原文地址:http://www.jbxue.com/article/24467.html 分享下php正则表达式中的一些常用语法格式,用于匹配字母.数字等,个人感觉还不错. 语法格式:位于定界符"/"之间.较为常用的元字符包括: “+”, “*”,以及 “?”.其中, “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次, “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次, 而“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次. /jim{2,6}/<

Django模板语法和vue语法有冲突

1.解决方案1在django1.5以后的版本,给出了解决方法,即使用标签{% verbatim myblock %} {% endverbatim myblock %}例如: {% verbatim myblock %} <span>Message: {{ msg }}</span> {% endverbatim myblock %} 被此标签包裹的内容,django的模板引擎不会对其进行渲染,从而解决语法冲突的问题. 2.解决方案2修改Vue的{{ }} 为{[ ]},即通过js

Django中的URL配置和模板

Django中的URL配置 : 实例: Python代码   urlpatterns = patterns('', # Example: # (r'^myweb/', include('myweb.foo.urls')), # Uncomment the admin/doc line below and add 'django.contrib.admindocs' # to INSTALLED_APPS to enable admin documentation: # (r'^admin/doc

Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结

Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合. REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__pattern :进行匹配的正则表达式,匹配的值将返回,返回策略由__occurrence决定__po