您所在位置: 网站首页 / Python之re模块的正则表达式学习.docx / 文档详情
Python之re模块的正则表达式学习.docx 立即下载
2024-11-06
约1.3万字
约19页
0
218KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Python之re模块的正则表达式学习.docx

Python之re模块的正则表达式学习.docx

预览

免费试读已结束,剩余 14 页请下载文档后查看

20 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Python之【re模块的正则表达式学习】
摘要:
re模块包括操作正则表达式的函数,一些工作中都需要用到,现在说明下使用方法。
使用说明:
一,re模块下的函数:
函数描述compile(pattern)创建模式对象search(pattern,string)在字符串中寻找模式match(pattern,string)在字符串开始处匹配模式split(pattern,string)根据模式分割字符串findall(pattern,string)列表形式返回匹配项sub(pat,repl,string)pat匹配想用repl替换escape(string)特殊字符转义








1,compile:

>>>importre
>>>pat=re.compile('A')
>>>m=pat.search('CBA')
>>>printm
<_sre.SRE_Matchobjectat0x9d690c8>#匹配到了,返回MatchObject(True)

>>>m=pat.search('CBD')
>>>printm
None#没有匹配到,返回None(False)

#上面的等价于

>>>re.search('A','CBA')
<_sre.SRE_Matchobjectat0xb72cd170>#推荐都用第一种方法

说明:将正则表达式转换为模式对象,实现更有效率的匹配,因为其他的函数会在内部进行转换。
2,search:
>>>m=re.search('asd','ASDasd')
>>>printm
<_sre.SRE_Matchobjectat0xb72cd6e8>#匹配到了,返回MatchObject(True)
>>>m=re.search('asd','ASDASD')
>>>printm
None#没有匹配到,返回None(False)
说明:在给定的字符串中寻找第一个匹配给正则表达式的子字符串,有多个也只返回第一个出现的。
3,match:

>>>m=re.match('a','Aasd')
>>>printm
None#没有匹配到,返回None(False
>>>m=re.match('a','aASD')
>>>printm
<_sre.SRE_Matchobjectat0xb72cd6e8>#匹配到了,返回MatchObject(True)可以用第一个方法:compile>>>pat=re.compile('a')>>>printpat.match('Aasd')None>>>printpat.match('aASD')<_sre.SRE_Matchobjectat0xb72cd6e8>

说明:在给定的字符串的开头匹配正则表达式。
上面的函数返回都可以在if条件语句中进行判断:

>>>ifpat.search('asd'):
...print'OK'
...
OK#找到返回
>>>ifre.search('a','ASD'):
...print"OK"
...#没有找到

4,split:

>>>re.split(',','a,s,d,asd')
['a','s','d','asd']#返回列表
>>>pat=re.compile(',')
>>>pat.split('a,s,d,asd')
['a','s','d','asd']#返回列表

>>>re.split('[,]+','a,s,d,,,,,asd')#正则匹配:[,]+,后面说明
['a','s','d','asd']
>>>re.split('[,]+','a,s,d,,,,,asd',maxsplit=2)#maxsplit最多分割次数
['a','s','d,,,,,asd']
>>>pat=re.compile('[,]+')#正则匹配:[,]+,后面说明
>>>pat.split('a,s,d,,,,,asd',maxsplit=2)#maxsplit最多分割次数
['a','s','d,,,,,asd']

说明:根据模式的匹配项来分割字符串,类似字符串的split的方法,但是字符串的split只能用固定长度的分割符,而re.split允许用任意长度和个数的分割符。
5,findall:

>>>re.findall('a','ASDaDFGAa')
['a','a']#列表形式返回匹配到的字符串
>>>pat=re.compile('a')
>>>pat.findall('ASDaDFGAa')
['a','a']#列表形式返回匹配到的字符串

>>>pat=re.compile('[A-Z]+')#正则匹配:'[A-Z]+'后面有说明
>>>pat.findall('ASDcDFGAa')
['ASD','
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Python之re模块的正则表达式学习

文档大小:218KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用