python正则表达式

大话Python正则表达式

陌路散爱 提交于 2019-12-22 19:15:00
python的正则表达式模块re 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import re match_object = re. compile (r"") result = re.match(match_object, "resource string" ) result = re.search(match_object, "resource string" ) result = re.findall(match_object, "resource string" ) # 注意区别 match_object.match( "resource string" ).group() match_object.search( "resource string" ).group() match_object.findall( "resource string" ) #上下两种方式任选一种,findall是返回列表 print result.group() match()与search()的区别: match是从源字符串的头部开始,仅当从第一个字符开始匹配成功,才能从字符串中匹配到目标字符串 search是从源字符串任意位置开始匹配 match和search的共同点是一旦匹配成功就返回,因而只会从源字符串中成功匹配一个目标字符串 findall

Django框架第一篇基础

北战南征 提交于 2019-12-22 17:00:44
Django框架第一篇基础 一个小问题: 什么是根目录:就是没有路径,只有域名、。url(r'^$') 补充一张关于wsgiref模块的图片 一、MTV模型 Django的MTV分别代表:   Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM)   Template(模板):放所有的html文件            模板语法:目的是将白变量(数据库的内容)如何巧妙的嵌入到html页面中   View(视图):负责业务逻辑,并在适当的时候调用Model和Template   此外,Django还有一个URL分发器。它的作用是将一个个URL的页面请求分别发给不同的Views处理,Views再调用相应的Model和Template。 二、Django基本命令 1、下载Django: pip3 install django 2、创建一个Django对象 django-admin.py startproject 项目名称 django-admin.py startproject mysite 创建成功后会生成这样一个工程。目录结构如下: manage.py------启动文件 (Django项目里面的工具,通过它可以调用Django shell的数目和数据库等) settings.py------包含了项目的一些设置,包括数据库信息、调试标志以及其他一些工作的变量。

python skills

佐手、 提交于 2019-12-19 03:24:32
python字符串前面加上’r’的作用 在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash ‘’ 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上’r’。 来源: CSDN 作者: liurunjiang 链接: https://blog.csdn.net/liurunjiang/article/details/103599544

Python 常用模块介绍

自古美人都是妖i 提交于 2019-12-16 17:57:29
time模块 time模块 import time time模块的常用方法: 时间戳 从1970年1月1日0:00:00开始按秒计算 time.time() 格式化时间(显示当前时间) time.strftime(%Y-%m-%d %X) %Y 年 -%m月- %d日 %X秒 datetime模块 datetime模块 import datetime 返回当前时间 print(datetime.datetime.now()) 2019-8-19 15:05:30.000000 #当前时间 print(datetime.datetime.now()) #当前时间的加减 print(print(datetime.datetime.now() + datetime.timedelta(3))) 2019-8-19 15:05:30.000000 2019-8-22 15:05:30.000000 通过datetime.timedelta添加来达到当前日期的加减模式: 默认加减天数,hours加减小时,minutes加减分钟 random模块 random模块 import random random模块方法 random方法: #大于0且小于1的小数 print(random.random()) #想生成0且小于多少的小数只要在后面乘多少就好啦 print(random.random()

python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

六眼飞鱼酱① 提交于 2019-12-06 10:53:35
前言 hello,大家好 本章可是一个重中之重,因为我们今天是要爬取一个 图片 而不是一个网页或是一个json 所以我们也就不用用到 selenium模块 了,当然有兴趣的同学也一样可以使用selenium去爬取。 为了方便我们就用 requests模块 就够了,因为够快。。。 上章的课程传送门: [python网络爬虫之入门[一]]( https://www.cnblogs.com/liwangwang/p/11977110.html ) [python网络爬虫之自动化测试工具selenium\[二\]]( https://www.cnblogs.com/liwangwang/p/11977134.html ) 理一下本章思路: 学习并掌握好正则表达式 使用正则表达式去分析网站来获取特定信息 一、正则表达式的学习 1、正则表达式的匹配工具 如果是学过正则表达式的却不知道这个工具的话,那绝对是一个很大的遗憾。 这个也叫做猫头鹰, 可能还有一些比较好用的工具把,但这个就已经够用了, 下载路径: 链接: https://pan.baidu.com/s/1g8Zn-CKopsnCjA_o9jS0TQ 提取码:iq9s 2、正则表达式的样式 本着大家好,我好的思想理念,所以我觉得给大家起一个匹配案例就行了,其他的正则自己可以慢慢看代码理解 放图: 使用regexbuddy做检测: 失败案例

python正则表达式

血红的双手。 提交于 2019-12-06 07:09:01
常用元字符 代码 说明 . 匹配除换行外的任意字符 \w 匹配字母、数字、下划线、汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 常用限定符 限定符 说明 举例 ? 匹配前面的字符0次或1次 colou?r,可以匹配colour和color + 匹配前面字符1次或多次 go+gle,匹配范围从gogle到goo..gle * 匹配前面字符0次或多次 go*gle,匹配范围从ggle到goo..gle {n} 匹配前面字符n次 go{2}gle,匹配google {n,} 匹配前面字符至少n次 go{2,}gle,匹配范围google到goo..gle {n,m} 匹配前面字符最少n次,最多m次 employe{0,2},匹配employ、employe和employee 来源: https://www.cnblogs.com/leisurelyRD/p/11966116.html

模板层 视图层

爱⌒轻易说出口 提交于 2019-12-05 17:52:32
今日内容 视图层 小白必会三板斧 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默认是序列化字典用的

django之路由层

半世苍凉 提交于 2019-12-05 15:29:26
目录 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 =

python基础

主宰稳场 提交于 2019-12-05 11:01:01
目录 匿名函数 正则表达式 匿名函数 匿名是因为不需要以标准的方式来声明,如使用def语句 lambda [arg1,[ar2,...argN]:expression #定义匿名函数 In [1]: a = lambda x,y: x+y In [2]: ?a Signature: a(x, y) Docstring: <no docstring> File: ~/<ipython-input-1-07b4826b0230> Type: function #直接返回结果 In [3]: a(2,4) Out[3]: 6 正则表达式 来源: https://www.cnblogs.com/anyux/p/11921594.html

python正则表达式

懵懂的女人 提交于 2019-12-05 02:23:00
参考: https://www.runoob.com/python/python-reg-expressions.html 整理所得。 一、 march, search, findall, sub的区别 import re s = 'xx,Hello World Wide web, helloPython' # 生成一个正则表达式 reg = re.compile(r'(hello\w*)',re.IGNORECASE) # 从头开始匹配,并返回第一个匹配的结果。如果一开始就不匹配停止匹配,返回None。 print(reg.match(s)) # 从0开始第3位(包含)开始匹配,并返回第一个匹配的结果。如果一开始就不匹配就返回None。 print(reg.match(s,3)) # 从头开始匹配返回第一个匹配的结果,如果一开始就不匹配就继续匹配。 print(reg.search(s)) # 从0开始第4位(包含)开始匹配,第30位截止(不包含),返回第一个匹配的结果,如果一开始就不匹配就继续匹配。 print(reg.search(s,4,32)) # 返回所有结果 print(reg.findall(s)) # 替换所有的hello为hi~ print(reg.sub('hi~',s)) 二、贪婪和非贪婪匹配 import re # 贪婪模式 print(re