python正则表达式

python正则表达式字符记录

故事扮演 提交于 2019-11-29 08:33:25
代码  功能 .    匹配任意1个字符(除了\n) []    匹配[]中列举的字符 \d    匹配数字,即0-9 \D    匹配非数字, 即不是数字 \s    匹配空白,即空格,tab键 \S    匹配非空白 \w    匹配非特殊字符,即a-z、A-Z、0-9、_、汉字 \W    匹配特殊字符,即非字母、非数字、非汉字、非_ 来源: https://www.cnblogs.com/ClikeL/p/11494812.html

Python正则表达式\W*和\W*?匹配过程遇到的问题

那年仲夏 提交于 2019-11-28 08:31:52
老猿在分析《 Python正则表达式\W+和\W*匹配过程的深入分析 》中的问题时,想到一个问题,如果“re.split(’(\W*)’,‘Hello,world’)”的处理如果换成非贪婪模式会怎么样,根据老猿的预测,由于在’Hello,world’中没有连续的非单词字符,因此贪婪模式处理和非贪婪模式结果应该一样,如是测试了一下看看效果: >>> re.split('(\W*)','Hello,world') #贪婪模式 ['', '', 'H', '', 'e', '', 'l', '', 'l', '', 'o', ',', '', '', 'w', '', 'o', '', 'r', '', 'l', '', 'd', '', ''] >>> re.split('(\W*?)','Hello,world') #非贪婪模式 ['Hello,world'] >>> 看到这结果老猿完全懵圈了,这完全推翻了《 Python正则表达式\W+和\W*匹配过程的深入分析 》的分析过程。但执行结果肯定是正常的,肯定是老猿自己的问题,大家觉得问题出在哪里呢? 不卖关子了,《 Python正则表达式\W+和\W*匹配过程的深入分析 》的分析过程应该是没有问题的,问题出在输入的问号上,半角的问号被输入成了全角问号,导致匹配不到对应的搜索文本,所以就将原串作为列表的元素整个返回了

模板层 视图层

…衆ロ難τιáo~ 提交于 2019-11-28 05:31:57
今日内容 视图层 小白必会三板斧 HttpResponse render redirect 视图函数必须有一个返回值 并且返回值的数据类型必须是HttpResponse对象 JsonResponse 前后端分离 前后端数据交互 该如何进行? 通常情况下前后端数据交互采用的都是json的字符串(字典) 后端只需要写好相应的url接口 前端访问你这个接口 你只需要返回一个大字典即可 + 开发文档 用来告诉前端工程师 你这个接口能够返回哪些数据 前后端序列化反序列都用哪些方法 python后端 js json.dumps JSON.stringify json.loads JSON.parse def index(request): user_dic = {'name':'jason好帅哦 我好喜欢~','password':'123'} 如何让json不自动帮你对中文进行转码 json_str = json.dumps(user_dic,ensure_ascii=False) return HttpResponse(json_str) return JsonResponse(user_dic,json_dumps_params={'ensure_ascii':False}) l = [1,2,3,4,5,6,7,] JsonResponse默认是序列化字典用的

《Python网络爬虫权威指南》读书笔记2(第2章:复杂HTML解析)

只愿长相守 提交于 2019-11-27 21:23:27
2.1 不是一直都要用锤子 避免解析复杂HTML页面的方式: 寻找“打印此页”的链接,或者看看网站有没有HTML样式更友好的移动版本(把自己的请求头设置成处于移动设备的状态,然后接受网站移动版)。 寻找隐藏在JavaScript文件里的信息。要实现这一点,你可能需要查看网页加载的JavaScript文件。 虽然网页标题经常会用到,但是这个信息也许可以从网页的URL链接里获取。 如果你要找的信息不只限于这个网站,那么你可以找找其他数据源。 2.2 再端一碗BeautifulSoup 下面让我们创建一个网络爬虫来抓取http://www.pythonscraping.com/pages/warandpeace.html这个网页。 在这个网页里,小说人物的对话内容是红色的,人物名称都是绿色的。你可以看到网页源代码里span标签引用了对应的CSS属性,如下所示: "<span class="red">Heavens! what a virulent attack!</span>" replied <span class="green">the prince</span>, not in the least disconcerted by this reception. 可以使用第1章类似的程序抓取整个页面,然后创建一个BeautifulSoup对象: from urllib.request

Python正则表达式

非 Y 不嫁゛ 提交于 2019-11-27 10:14:42
元字符 1.匹配元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符串的开始。 $ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置。 [] 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集 \ 反斜杠后面可以加不同的字符以表示不同特殊意义。它也可以用于取消所有的元字符,这样你就可以在模式中匹配它们了 | 可选项,或者 "or" 操作符。 () 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值 2.重复元字符: * 重复0或N次 + 重复1或N次 ? 重复0或1次 {m,n} 该限定符的意思是至少有 m 个重复,至多到 n 个重复 3.用 "\" 开始的预定义字符集 \d 匹配任何十进制数;它相当于类 [0-9]。 \D 匹配任何非数字字符;它相当于类 [^0-9]。 \s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。 \S 匹配任何非空白字符;它相当于类 [^\t\n\r\f\v]。 \w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。 \W 匹配任何非字母数字字符;它相当于类 [^a-zA

第4章:文本处理

蹲街弑〆低调 提交于 2019-11-26 16:17:46
1.字符串常量 1).字符串是不可变的有序集合 2).字符串函数 3).使用Python分析Apache的访问日志 4).字符串格式化 2.正则表达式 1).利用re库处理正则表达式 2).常用的re方法 3).案例:获取HTML页面中的所有超链接 3.字符集编码 1).UTF8编码 2).Python2和Python3中的Unicode 4.Jiaja2模板 1).语法块 2).Jinja2的继承和Super函数 来源: https://www.cnblogs.com/allenhu320/p/11326342.html

django之路由层

僤鯓⒐⒋嵵緔 提交于 2019-11-25 23:32:28
目录 orm表关系如何建立 一对一 一对多 多对多 django请求生命周期流程图 url.py路由层 路由匹配 django匹配路由规律 取消django自动让浏览器加斜杠的功能 限制指定输入的url 无名分组 有名分组 反向解析 定义 路由中没有正则表达式,直接就是写死的 前端反向解析 后端反向解析 无名分组的反向解析 前端反向解析 后端反向解析 有名分组的反向解析 前端反向解析 后端反向解析 以编辑功能为例,反向解析的应用 路由分发 总路由 (include) 子路由 名称空间 (namespace) 伪静态 虚拟环境 django版本区别 django 1.xx版本 django 2.xx版本 django后端获取文件对象 orm表关系如何建立 一对一 一张表的字段信息太多,可以人为分出一张表 一对多 外键字段建在 多的那一方 多对多 多对多的外键关系需要建立第三张表来专门处理 以图书馆里系统为例,创建图书表,作者表,出版社表 以图书管理系统为例,在django orm 建立表关系: 一对一的表关系,外键字段建在任意一方都可以,但是建议建在查询频率较高的一方 书与出版社是一对多关系,并且书是多的一方,所以外键字段建在书表中 书与作者是多对多的关系, 外键字段建在任意一方都可以,建议建在查询频率较高的一方 class Book(models.Model): title =