Python——常用模块
Posted 澄心元素
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——常用模块相关的知识,希望对你有一定的参考价值。
一、常用模块
1、re模块
二、re模块
1、re模块是用来操作正则表达式
2、正则表达式——用来字符串匹配的
(1)字符组:[字符组] 例如[0123fdsa456*/-]
[0-9] 等同于[0123456789]
[a-z] 匹配小写字母
[A-Z]匹配大写字母
(2)特殊的元字符
. | 匹配除换行符以外的任意字符 |
w | 匹配字母或数字或下划线 |
s | 匹配任意的空白符 |
d | 匹配数字 |
匹配一个换行符 | |
匹配一个制表符 | |
匹配单词的结尾 g以g结尾的单词 | |
^ | 匹配字符串的开始 ^e |
$ | 匹配字符串的结尾 w$ |
W | 匹配非字母、数字、下划线 |
D | 匹配非数字 |
S | 匹配非空白符 |
a|b | 匹配字符a或b 先长字符后短字符 |
() | 分组 |
[^abc] | 除了abc以外都匹配 |
(3)量词
* | 匹配0次或多次 |
+ | 匹配1次或多次 |
? | 匹配0次或1次 |
{n} | 重复多次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
(4)转义符
注:r"\d" 表示取消转义,直接显示出本来的字符
3、使用re模块方法
# -*- coding:UTf-8 -*- #findall 是寻找所有匹配的字符 #参数一:需要匹配的字符,正则规则 #参数二:带匹配的字符串 import re re = re.findall(‘e‘,‘eva egon yuan‘) print(re) #从前往后,找到一个就返回,返回,返回的变量需要调用group才能拿到结果 #如果没有找到,那么返回NONE,调用gruop会报错 re = re.search(‘e‘,‘eva egon yuan‘) if re : print(re.group()) #natch是从头开始匹配,同样调用group方法 re = re.match(‘e‘,‘eva egon yuan‘) if re : print(re.group()) #split方法,分割 re = re.split(‘[ab]‘,‘adbc‘) #利用正则关系进行分割 #sub 方法,替换 re = re.sub(‘d‘,‘H‘,‘efaflkdjafhg‘,1)#利用正则规则进行替换,将数字替换成H #subn方法 re = re.subn(‘d‘,‘H‘,‘fdahglaag‘)#将数字地换成H,返回元祖,替换了几次 #compile方法,编译规则 obj = re.compile(‘d{3‘) #将正则表达式编译成一个正则表达式对象,建立规则 re = obj.search(‘fdafsafdsa12313‘) print(re.group()) #finditer 返回一个存放匹配结果的迭代器 re = re.findall(‘d‘,‘fwqre12314‘) print (next(re).group) #查询第一个结果 for i in re: print(i.group())
4、group(),里面可以加入整数值,表示取局部分组里的数值,分组的意思是正则表达公式里的分组
5、正则表达式中‘?’ 有三种功能, (1) 单独表示匹配0次或1次(2)放在字符串后面表示惰性匹配,表示匹配最少的次数(3)跟findall使用,在字符串内,表示取消优先级查询
6、在分组的时候,findall,split 是有分组优先级的,需要特别注意一下
以上是关于Python——常用模块的主要内容,如果未能解决你的问题,请参考以下文章