一文秒懂python正则表达式常用函数01 Re概览
Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..\Python\Python37\Lib) 。主要提供了3大类字符串操作方法:
字符查找/匹配
字符替换
字符分割
由于是面向字符串类型的模块 , 就不得不提到字符串编码类型 。re模块中,模式串和搜索串既可以是 Unicode 字符串 (常用str类型),也可以是8位字节串 (bytes,2位16进制数字,例如\xe5),但要求二者必须是同类型字符串 。
02 字符串查找/匹配
预编译:compile
在介绍查找和匹配函数前,首先需要知道re的compile函数,该函数可以将一个模式串编译成正则表达式类型,以便后续快速匹配和复用
import repattern = re.compile(r'[a-z]{2,5}')type(pattern) #re.Pattern
此例创建了一个正则表达式式对象 (re.pattern),命名为pattern,用于匹配2-5位小写字母的模式串 。后续在使用其他正则表达式函数时,即可使用pattern进行方法调用 。
匹配:match
match函数用于从文本串的起始位置开始匹配,若匹配成功,则返回相应的匹配对象 , 此时可调用group()方法返回匹配结果,也可用span()方法返回匹配起止下标区间;否则返回None
import repattern = re.compile(r'[a-z]{2,5}')text1 = 'this is a re test'res = pattern.match(text1)print(res) #if res:print(res.group()) #thisprint(res.span()) #(0, 4)text2 = '是的, this is a re test'print(pattern.match(text2))#None
match函数还有一个变形函数fullmatch , 当且仅当模式串与文本串刚好全部匹配时,返回一个匹配对象,否则返回None
搜索:search
match只提供了从文本串起始位置匹配的结果,如果想从任意位置匹配 , 则可调用search方法,与match方法类似,当任意位置匹配成功,则立即返回一个匹配对象 , 也可调用span()方法获取起止区间、调用group方法获得匹配文本串
import repattern = re.compile(r'\s[a-z]{2}')text1 = 'this is a re test'res = pattern.search(text1)print(res) #if res:print(res.group()) #isprint(res.span()) #(4, 7)pattern2 = re.compile(r'\s[a-z]{5}')text2 = '是的,this is a re test'print(pattern2.search(text2))#None
match和search均用于匹配单个结果 , 唯一区别在于前者是从起始位置开始匹配 , 而后者从任意位置匹配,匹配成功则返回一个match对象 。
全搜索:findall/finditer
【python函数常用方法 python函数大全】 几乎是最常用的正则表达式函数,用于寻找所有匹配的结果 , 例如在爬虫信息提取中,可非常方便地提取所有匹配字段
import repattern = re.compile(r'\s[a-z]{2,5}')text1 = 'this is a re test'res = pattern.findall(text1)print(res) #[' is', ' re', ' test']
findall返回的是一个列表对象类型,当无匹配对象时,返回一个空列表 。为了避免因同时返回大量匹配结果占用过多内存 , 可以调用finditer函数返回一个迭代器类型,其中每个迭代元素是一个match对象 , 可继续调用group和span方法获取相应结果
import repattern = re.compile(r'\s[a-z]{2,5}')text1 = 'this is a re test'res = pattern.finditer(text1)for r in res:print(r.group())"""isretest"""
当匹配模式串较为简单或者仅需单词调用时,上述所有方法也可直接调用re类函数,而无需事先编译 。此时各方法的第一个参数为模式串 。
import repattern = re.compile(r'\d{2,5}')text = 'this is re test're.findall('[a-z] ', text) #['this', 'is', 're', 'test']03 字符串替换/分割
替换:sub/subn
当需要对文本串进行条件替换时,可调用re.sub实现 (当然也可先编译后再用调用实例方法) , 相应参数分别为模式串、替换格式、文本串,还可以通过增加缺省参数限定替换次数和匹配模式 。通过在模式串进行分组,可实现字符串的格式化替换(类似字符串的format方法),以实现特定任务 。
import retext = 'today is 2020-03-05'print(re.sub('-', '', text)) #'today is 20200305'print(re.sub('-', '', text, 1)) #'today is 202003-05'print(re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', text)) #'today is 03/05/2020'
re.sub的一个变形方法是re.subn,区别是返回一个2元素的元组,其中第一个元素为替换结果,第二个为替换次数
import retext = 'today is 2020-03-05'print(re.subn('-', '', text)) #('today is 20200305', 2)
分割:split
还可以调用正则表达式实现字符串的特定分割 , 相当于.split()方法的一个加强版,实现特定模式的分割 , 返回一个切割后的结果列表
import retext = 'today is a re test, what do you mind?'print(re.split(',', text)) #['today is a re test', ' what do you mind?']04 总结
python中的re模块提供了正则表达式的常用方法,每种方法都包括类方法调用(如re.match)或模式串的实例调用(pattern.match)2种形式
常用的匹配函数:match/fullmatch
常用的搜索函数:search/findall/finditer
常用的替换函数:sub/subn
常用的切割函数:split
还有其他很多方法,但不是很常用,具体可参考官方文档
另外,python还有第三方正则表达式库regex可供选择
到此这篇关于一文秒懂python正则表达式常用函数的文章就介绍到这了,希望大家以后多多支持!
Python常用函数三有哪些?这7个函数使用频率最高 , 总算搞明白了1.1 例如:print(hex(2))案例
1.2 输出函数:print(hex(2))
1.3 输出结果:0x2
1.4 解析说明:返回16进制的数 。
2.1 例如:print(chr(10))案例
2.2 输出函数:print(chr(10))
2.3 输出结果:0o12
2.4 解析说明:返回当前整数对应的ASCll码
3.1 例如:print(ord("b"))案例
3.2 输出函数:print(ord("b"))
3.3 输出结果:98
3.4 解析说明:返回当前ASCll码的10进制数
4.1 例如:print(chr(97))
4.2 输出函数:print(chr(97))
4.3 输出结果:b
4.4 解析说明:返回当前ASCll码的10进制数 。
案例一:给python函数常用方法你一个字符串,s = 'hello kitty'
1.1 输出函数:print(s.capitalize())
1.2 输出结果:0x2
1.3 解析说明:返回16进制的数 。
2.1输出函数:print(s.replace('kitty','kuang'))
2.2 输出结果:hello kuang
2.3 解析说明:替换功能python函数常用方法,将kitty换成kuang 。
2.4 输出函数:print(s.replace('4','KK'))
2.5 输出结果:12KK12KK
2.6 解析说明:所有的4都替换成KK
2.7 输出函数:print(s.replace('4','KK'))
2.8 输出结果:12KK12KK124
2.9 解析说明:将前两个的4替换成go
案例一:给你一个字符串python函数常用方法,ip = '192.168.1.1'
3.1 输出函数:print(ip.split(','))
3.2 输出结果:['192.168.1.1']
3.3 解析说明:将字符串分割成列表
案例一:给你一个字符串,ip = '192.168.1.1'
3.3 输出函数:print(ip.split(',',2))
3.4 输出结果:['192.168.1.1']
3.5 解析说明:从第二个开始分割成列表
python中print函数的用法python中print函数的用法是:
第一种方法:一个萝卜一个坑 , 下面的代码中,{0}、{1}、{2}分别表示j,i,j*i,单引号里面是输出格式 。
print('{0} {1}={2}'.format(j,i,j i)) 。
第二种方法:类似于C语言格式输出,使用%开头格式输出 。
print("%d%d = %d" %(j,i,j i)) 。
python中自动换行,要想不换行的话,需要在print括号最后面加上 , end = ''print(i, end = '' ) 。
Python常用格式字符是:
1、%s 字符串采用str()的显示 。
2、%x 十六进制整数 。
3、%r 字符串(repr())的显示 。
4、%e 指数(基底写e) 。
5、%c 单个字符 。
6、%E 指数(基底写E) 。
7、%b 二进制整数 。
8、%f,%F 浮点数 。
9、%d 十进制整数 。
10、%g 指数(e)或浮点数(根据显示长度) 。
11、%i 十进制整数 。
12、%G 指数(E)或浮点数(根据显示长度) 。
13、%o 八进制整数 。
14、%% 字符% 。
python中len函数的使用方法python中len()python函数常用方法的用法:
新建一个len()函数的使用pypython函数常用方法,中文编码声明注释:#coding=gbk,函数:len()作用:返回字符串、列表、字典、元组等长度 。语法:len(str) 。参数:str:要计算的字符串、列表、字典、元组等 。返回值:字符串、列表、字典、元组等元素的长度 。
实例:
1、计算字符串的长度 。
2、计算列表的元素个数 。
3、计算字典的总长度,即键值对总数 。
4、计算元组元素个数 。
在Python中,要知道一个字符串有多少个字符,以获得字符串的长度,或者一个字符串需要多少字节,可以使用len函数 。
关于python函数常用方法和python函数大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 外置直播声卡教程,直播声卡如何外放教程
- u盘音乐怎么查,怎样查看优盘里的所有音乐
- 聚会游戏推荐益智游戏,聚会游戏有哪些
- c语言编程一个函数 c语言函数编程例子
- 如何用新媒体管家采集文章,新媒体管家转载文章
- 手机拍摄有什么工具,手机拍摄工具有哪些
- 电脑降级有什么,电脑系统降级以后有什么好处
- java随机数排序代码 java随机数random
- mysql触发器根据一个字段更新,mysql语句触发器