Python使用re库处理正则详解

今天继续给大家介绍Python相关知识,本文主要内容是Python使用re库处理正则详解。

一、Python re库简介

re库是Python的标准库(所谓标准库,就是在安装Python后就自动安装了的库)之一,主要用于对指定字符串进行正则匹配。使用时需要import引入re即可。
要学习re库的使用就需要学习正则表达式的写法,关于正则表达式请参考:Linux 正则表达式与元字符。在这里就不过多赘述了。

二、Python re库主要函数简介

Python re库主要函数如下所示:
1、re.search()
该函数格式为:

re.search(pattern,string,flags)

作用是搜索字符串中符合正则表达式的第一个值,并返回一个match对象。
2、re.match()
该函数格式为:

re.match(pattern,string,flags)

该函数的作用是从一个字符串的开始未知起匹配正则表达式,该函数与re.search()函数的区别在于如果不能在开始时就匹配到正则表达式,就不会匹配到字符串中间符合条件的正则表达式。
3、re.findall()
该函数格式为:

re.findall(pattern,string,flags)

作用是搜索整个字符串,以列表形式返回所有能够匹配到的字串。
4、re.split()
该函数格式为:

re.split(pattern,string,maxsplit,flags)

作用是将一个字符串按照正则表达式匹配结果进行分隔,返回列表类型。maxsplit参数指定了最大分隔数,满足最大分隔数后最后的部分当作最后一个元素输出,该参数默认为0,表示无限制。
5、re.finditer()
该函数格式为:

re.finditer(pattern,string,flags)

该函数的作用是搜索string字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象。
6、re.sub()
该函数格式为:

re.sub(pattern,reple,string,count,flags)

该函数可以将string中所有符合正则表达式pattern的子字符串替换成字符串repel,然后返回替换后的字符串。count参数表示替换的最大次数,该参数默认为0,表示无限次。

三、Python re库控制标记简介

在上述Python re库常用函数中,pattern为一个正则表达式,string为一个待匹配的字符串,flags为正则表达式的控制标记。flags常用标记及作用如下表所示:

flags常用标记 作用
re.l 表示在进行正则匹配时,忽略大小写
re.M 表示在正则表达式中^字符可以匹配每行的开始
re.S 表示在正则表达式中.字符可以匹配所有字符(如果不使用此标记,则该字符会匹配除了换行符以外的所有字符)

四、Python re库使用示例

最后,给大家举几个Python re库的使用示例:
python代码如下所示:

import re

ex=r'[1-9][0-9]*'
str='jkd123ssd321asd'
match1=re.search(ex,str)
if match1:
    print("match1:"+match1.group(0))
match2=re.match(ex,str)
if match2:
    print("match2:"+match2.group(0))
match3=re.split(ex,str)
print("match3:",end='')
print(match3)
match4=re.findall(ex,str)
print("match4:",end="")
print(match4)
sub=re.sub(ex,'_NumSub_',str)
print("sub:"+sub)

上述代码执行结果如下所示:
Python使用re库处理正则详解_第1张图片
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(python爬虫,python,正则表达式,re库,开发,编程)