正则+re模块知识总结】的更多相关文章

目录 正则表达式 定义+特点 元字符 量词 贪婪匹配与非贪婪匹配 转义符 re模块 re.findall re.search re.match re.compile re.finditer re.split re.sub re.subn 正则表达式 定义+特点 什么是正则表达式:一套用于匹配字符串的规则 正则表达式测试网站(http://tool.chinaz.com/regex/) 能做什么: 用户输入内容的时候,我们可以提前检测输入是否符合规则(如登录) 能够提升程序的效率以及减轻服务器的压…
1. 正则表达式 匹配字符串 元字符 .   除了换行 \w  数字, 字母, 下划线 \d  数字 \s  空白符 \n 换行符 \t  制表符 \b  单词的边界 \W  \D \S 非xxx []  字符组 ^ 字符串的开始 $ 字符串的结束 |  或者 量词 * 重复0->n次 + 重复1->n次 ? 重复0->1次 {p} 重复p次 {p,q} 重复p->q次 {p,} 重复至少p次 贪婪和惰性 贪婪:    .*    .+ 惰性:    .*?  尽可能少的匹配 转义…
目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. requests模块初识 python day 8 2019/10/11 资料来自老男孩教育 1. re模块补充 import re data = 'hello my name is lanxing and hello 30, i am very pleased to meet you guys.' #…
logging模块 #日志:日常的流水 =>日志文件,将程序运行过程中的状态或数据进行记录,一般都是记录到日志文件中 #1.logging模块一共分为五个打印级别 debug.info.warning.error.critical #2.级别本身没有代表信息重要性的区别,只是包含级别信息,可以约定日志的重要性 标准的三流 import sys # 标准的三流 stdout | stdin | stderr # stdout和stderr两个是抢cpu工作,没有规定的前后 sys.stdout.w…
前面几篇关于正则匹配的文章我用的方法都只有一个re.search 但其实正则re模块提供很多非常好用的方法,我们先来看看re模块都有那些属性方法呢 前面的一堆带_或者大写的就不关注了,主要关注最后面的几个方法 -------------------------------------------------------------------------------------------------------------------------------------------------…
1.re模块和基础方法 2.在python中使用正则表达式的特点和问题 3.使用正则表达式的技巧 4.简单爬虫例子 一.re模块 模块引入; import re 相关知识: 1.查找: (1)findall: 匹配所有 每一项都是列表中的一个元素 例: ret = re.findall('\d+','sjkhk172按实际花费928') # 格式:正则表达式,带匹配的字符串,flag # 结果: ['172', '928'] ret = re.findall('\d','sjkhk172按实际花…
正则表达式 什么是正则表达式? 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑.正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串. 正则表达式可以干什么? 快速高效的查找与分析字符串 进行有规律查找比对字符串,也叫:模式匹配 具有查找.比对.匹配.替换.插入.添加.删除等能力.…
time模块 time.time() # 时间戳:1487130156.419527 time.strftime("%Y-%m-%d %X") #格式化的时间字符串:'2017-02-15 11:40:53' time.localtime() #本地时区的struct_time time.gmtime() #UTC时区的struct_time 时间戳 与 struct_time对象的相互转换 time.localtime(1473525444.037215) #时间戳到struct_t…
Python 正则表达式 re 模块 简介 正则表达式(regular expression)是可以匹配文本片段的模式.最简单的正则表达式就是普通字符串,可以匹配其自身.比如,正则表达式 ‘hello’ 可以匹配字符串 ‘hello’. 要注意的是,正则表达式并不是一个程序,而是用于处理字符串的一种模式,如果你想用它来处理字符串,就必须使用支持正则表达式的工具,比如 Linux 中的 awk, sed, grep,或者编程语言 Perl, Python, Java 等等. 正则表达式有多种不同的…
一. python的正则 python的正则模块re,是其内置模块,可以直接导入,即import re.python的正则和其他应用的正则及其相似,有其他基础的话,学起来还是比较简单的. 二. 正则前r说明 由于正则式的规则也是由一个字符串定义的,而在正则式中大量使用转义字符 ’/’ ,如果不用 raw 字符串,则在需要写一个 ’/’ 的地方,你必须得写成 ’//’, 那么在要从目标字符串中匹配一个 ’/’ 的时候,你就得写上 4 个 ’/’ 成为 ’////’ !这当然很麻烦,也不直观,所以一…
今日内容: 知识点一:正则 什么是正则:  就是用一系列具有特殊含义的字符组成一套规则,改规则用来描述具有某一特征的字符串  正则就是用来在一个大的字符串中取出符合规则的小字符串   为什么用正则:  1.用户注册  2.爬虫程序   如何用:  re.findall re.findall模块: \w取字母.数字.下划线print(re.findall('\w','yangzz:age_18 '))\W取非字母.数字.下划线print(re.findall('\W','yangzz:age_18…
8.hashlib 加密模块 ​ 主要用于加密和校验 常见密文:md5,sha1,sha256,sha512 只要明文相同,密文就相同 只要明文不相同,密文就是不相同的 不能反逆(不能解密)--md5中国破解了 最常用的是MD5(用于校验),平时加密时使用sha1 '''加密 1.指定要加密的方式 2.将要加密的内容转成字节 3.合成 ''' import hashlib md5 = hashlib.md5()#1 md5 = hashlib.sha1() md5 = hashlib.sha25…
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)协议.关于python的哲学:python崇尚:"优雅"."明确"."简单",Python是用最简单最优雅最明确的方法来解决问题…
re模块 re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. # (匹配规则,字符串,特殊标志) re.match(pattern…
Python中,一个.py文件就是一个模块(module):而,包含了多个模块的一个目录,称为包. 每一个包中,都包含一个_init_.py文件,可以是一个空文件,这是Python将普通目录识别为包的特征点. 模块的文件名是directory.module,前面是包含该模块的包的名字,后面是该模块的名字,例如: 文件www.py的模块名就是mycompany.web.www,两个文件utils.py的模块名分别是mycompany.utils和mycompany.web.utils. 使用模块…
正则表达式的特殊字符: 语法: re.match(正则语法,字符串) # re.match() 为关键字 group(1) # 取出第一个匹配 括号中的值,1位第一个括号内的值 1. 特殊字符 1 . ^ $ * ? + {2} {2,} {2,5} | . .* ^b : 依照b开头 $0 : 依照0结尾 * : 表示前面一个字符可以重复任意多次(0次或n次) ? : 非贪婪模式匹配 + : 前面字符最少出现一次,才能匹配成功 (和 * 号差异在于其要出现最少一次) {2}: 前面字符出现的次…
1. 匹配一个字符 表达式 说明 等价表达式 \d 数字 [0-9] \w 字母.数字.下划线 [a-zA-Z0-9_] . 除换行外任意字符   \s 空格 [\t\n\r\f\v] \D 除数字   \W 除字母.数字.下划线   \S 除空格    2. 集合 [abc][a-g] []指一个集合,匹配[]中的任意一个   [^A] ^在集合[]开头,匹配除A以外字符   A|B 匹配A或B表达式   (A) ()指一个组,匹配A中所有内容   3. 重复 a? 次(贪心表示尽可能多地)…
匹配数字相关'.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行'^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)'$' 匹配字符结尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以'*' 匹配*号前的字符…
第五章 模块 1.自定义模块: 模块分类: 内置模块(标准库)-- python解释器自带的.py文件(模块) 第三方模块(各种大神写的)-- 需要额外下载(并发编程pypi) 自定义模块(自己写的)--不用额外下载 每一个py文件就是一个模块 import #导入模块 模块的好处: 避免些重复代码 可以多次利用 拿来主义 导入模块发生的事情: 当前的名称空间中开辟一个新空间(test) 将模块中所有的代码执行 通过 模块名.函数名 进行查找函数 使用别名使文件名更短: ​ import tes…
4.random -- 随机模块 a-z:97 ~ 122 A-Z :65 ~ 90 import random #浮点数 print(random.random())#0~1,不可指定 print(random.uniform(1,10))#1~10#须指定 #整数 print(random.randint(1,10))[1~10]整数,闭区间 print(random.randrange(1,5,2))#(起始,终止,步长) list1 = [1,2,3,4,5] print(random.…
11.包 包:文件夹下具有__init__.py文件就是一个包,包用来管理多个模块 包的结构如下: bake ├── __init__.py ├── api ├── __init__.py ├── policy.py └── versions.py ├── cmd ├── __init__.py └── manage.py └── db ├── __init__.py └── models.py 在bake的同级创建一个test.py导入policy.py: import bake.api.po…
本文来源:https://www.cnblogs.com/dyfblog/p/5880728.html 对字符串操作 1.应用: 当我们爬取的东西在js文件中,比如我爬今日头条美女的图片时,它的图片url,就在js中. 当我们处理普通的txt文本时.比如读取log日志 创建一个匹配Email的正则表达式 用该正则表达式去匹配用户的输入来判断是否合法 2.常用的正则 中文    [\u4e00-\u9fa5] url        ^(https?:\/\/)?([\da-z\.-]+)\.([a…
一.re模块 1.模块功能 通过re模块的接口接入正则表达式语言,主要用于匹配字符串. 2.正则表达式元字符以及意义 . 代表任意一个字符(除了换行符\n) ^ 以什么开头 $ 以什么结尾 * 重复匹配*前面的字符出现0到多次 [0,正无穷] + 重复匹配+前面的字符1到多次[1,正无穷] ? 重复匹配?前面的字符0或1次[0,1] {数字} 代表前面的匹配次数,如'b{3}' {数字n,数字m}    代表前面的匹配次数n次到m次 "|" 或 '(abc){2}' 将abc括成一个整…
re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. import re text = "JGood is a handsome boy, he is cool, clever, and so on..." m = re.match(r"(\w+)\s", text) if m: print m.group(0), '\n', m.group(1) else: print 'not match' re.match的函数原…
import re # re 存在5种使用方式 #1. macth #2.search #3.findall #4.split #5 sub re.match('^chen', 'chenhua123').group() #加.group() 查看查找的内容 re.search('chen+a$','chenghua123a')  #$判断最后一个数是否是$ re.search('c[a-z]+a', 'chenghua123') # <_sre.SRE_Match object; span=(…
正则表达式元字符: 字符匹配 : . :除换行符以外的任意单个字符 [] :指定范围内字符 [^] :指定范围外字符 次数匹配: * :任意次,0,1,多次 .* :任意字符 任意次 ? :至多1次或0次 + :至少出现1次或多次 {m} :其前面字符出现m次 {m,n} :其前面字符出现至少m次,至多n次 {m,} :其前面字符出现至少m次 {,n} :其前面字符出现至多n次 位置锚定: ^ :匹配字符串的开头 $ :匹配字符串的末尾 分组及引用: () :分组,括号内模式会被记录于正则表达式…
match(从头匹配) 无分组  有分组=====================有括号 =================================================================== 注意P一定是大写 ===================================================flag模式========================================================= =============…
垃圾回收机制 不能被程序访问到的数据,就称之为垃圾 引用计数 引用计数:用来记录值的内存地址被记录的次数的:当一个值的引用计数为0时,该值就会被系统的垃圾回收机制回收 每一次对值地址的引用都可以使该值的引用计数 +1 每一次对值地址的释放都可以使该值的引用计数 -1 循环导入 循环导入会导致某些值得引用计数永远大于0  => 内存泄漏 ls1 = [666] ls2 = [888] ls1.append(ls2) # >>>[666, [888, [...]]] ls2.appen…
1.正则匹配基础知识 (1)通配符. .只匹配一个字符 >>> re.findall("p.ckname","piiickname-pockname") ['pockname'] 如果要匹配.等特殊字符,要使用注意字符\ >>> re.findall("p.ckname","pickname--p.ckname") ['pickname', 'p.ckname'] >>>…
Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: i)引入模块:import   moduleName ii)引入模块下的函数:from moduleName import function1,function2,…… iii)引入模块下的所有函数:from moduleName import * 使用模块里的函数的方法: moduleName.…