• 手机站
  • 收藏
聚培教育网合作机构 > 济南达内教育
济南达内教育
400-998-6158
济南达内教育是一家由留学海归创办的高端职业教育培训机构,是中国人才培养平台、人才输送平台。
济南达内教育

Python正则表达式及应用分享

python学习网

更新时间:2021-10-30 浏览:139
核心提示:正则表达式关键运用于解决字符串数组,我们在用Python程序编写时常常* 搜索合乎一些繁杂标准的字符串数组

正则表达式关键运用于解决字符串数组,我们在用Python程序编写时常常*须 搜索合乎一些繁杂标准的字符串数组。正则表达式便是纪录这种文字标准的编码,它能幫助你方便快捷的观察一个字符串数组能否与某类匹配算法。

正则表达式基本

行精准定位符:^表明行的逐渐 ^tm表明要配对字符串数组tm的开启部位如tm equl tomorrow字符串数组就可以配对 。

$表明行的末尾,tm$配对tm的末尾,如tomorrow moon equl tm能够配对 。若为 tm ,则在末尾和开始都能够配对。

元字符:

上边的行精准定位符也归属于元字符,在Python中有很多的元字符:

Python正则表达式及应用

反复:

上边带来的元字符只有配对一个数据或标识符,假如要想配对特殊总数的数据该怎样表明呢?正则表达式为大家出示了限定符来应用:

Python正则表达式及应用

若要配对8位QQ号可以用^d{8}$

标识符类:

正则表达式搜索数据和英文字母是很容易的,但如果要想配对沒有预约义的标识符结合应当怎么办呢?非常简单,只须要在方括号里列举他们就可以了,像[aeiou]就配对一切一个英文元音字母,[.?!]配对标点 。留意:在完成配对时只能配对方括号中的一个原素。

若要配对不符特定标识符结合的字符串数组只须要在方括号中加上^就可以。

如[^a-zA-Z]便是配对一个并不是英文字母的标识符。

若要配对的字符串数组合乎多种多样状况可以用挑选 标识符|来进行 。

如:(d{15}$)|(d{17}$)意思是能够配对15位或17位数字。

在正则表达式中小括号能够更改限定符的影响范畴,(thir|four)th这一关系式的意思是配对英语单词thirth或fourth。要是没有括弧这一关系式的含义就变为配对英语单词thir和fourth了。

如(.[0-9]{1,3}){3}这一关系式意味着对排序(.[0-9]{1,3})开展三次配对。

正则表达式在Python中运用

配对字符串数组

re.match()方式 用以从字符串数组逐渐处开展配对,若在初始部位配对取得成功则回到Match目标,不然回到None。match的操作方法以下:

re.match(pattern,string,flags)。在其中pattern表示方式字符串数组,由要配对的正则表达式转义而成,string表明要配对的字符串数组,flags表明可选主要参数。用以操纵配对方法,如是不是区别英文大小写常见的为re.I表明不区别英文大小写

import re

patten=r'mr_w '

string='MR_SHOP mr_shop'

match=re.match(patten,string,re.I)

print(match)

輸出結果为:

re.serach()用以在全部字符串数组中检索**个配对的值(从**次发生的部位),若配对取得成功回到Match目标,不然回到None

re.search(pattern,string,flags)

re.findall()用以在全部字符串数组中检索全部合乎正则表达式的字符串数组,并以目录的方式回到

re.findall(pattern,string,flags)

解决字符串替换字符串数组

sub()方式 用以完成字符串数组的更换,文件格式如下所示

re.sub(pattern,repl,string,cout,flags)在这个关系式中,repl表明要更换的字符串数组,string表明要被搜索的初始字符串数组,cout可选择主要参数,表明匹配算法后更换的*频次,默认设置为零,表明更换全部的配对。


import re

pattern=r'1[34578]d{9}'

string='里将号为:84978981 联系方式为:13611111111'

result=re.sub(pattern,'1XXXXXXXXXX',string)

print(result)

輸出結果为:开奖结果为84978981 联系方式为:1XXXXXXXXXX

分割字符串

split()方式 用以完成依据正则表达式分割字符串,并以目录的方式回到,实际文件格式如下所示

re.split(pattern,string,maxsplit,flags)在其中maxsplit为可选主要参数,表明较大的分拆频次


impotr re

pattern=r'[?|&]'

ctf='http://www.mingri.com/login.jsp?mr&mrsoft'

result=re.split(pattern,ctf)

print(result)

輸出結果为:

['http://www.mingri.com/login.jsp','mr','mrsoft']

更多>同类资讯
更多>相关课程
顶部