pyhthon--正则表达式

1、正则表达式中r”匹配规则
这里写图片描述

>>> 
>>> import re
>>> p = re.compile(r'hello')
>>> m = p.match('hello world everyone!!')
>>> print m
<_sre.SRE_Match object at 0xb7449410>
>>> print m.group
<built-in method group of _sre.SRE_Match object at 0xb7449410>
>>> print m.group()
hello
>>> 
>>> 
>>> p = re.compile(r'he')
>>> m = p.match('hello world everyone!!')
>>> print m.group()#默认匹配字符
he
>>> 
>>> 
>>> 
>>> 
>>> m = re.match(r'zheng','zhengdongxu')
>>> print m.group()#默认匹配字符
zheng
>>> 
>>> 
>>> 
>>> 
>>> 
>>> m = re.match(r'zheng','zhengdongxuzhengwuzhengsa')
>>> print m.group()
zheng
>>> 

>>> 
>>> 
>>> 
>>> 
>>> m = re.match(r'zheng','zhengdongxuzhengwuzhengsa')
>>> print m.group()#只是匹配第一个zheng
zheng
>>> 
>>> 
>>> 
>>> #默认只是匹配最前面的字符
>>> m = re.match(r'zheng','xxxxx zhengdongxuzhengwuzhengsa')
>>> print m.group()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>> m = re.match(r'zheng','yyyyzhengdongxuzhengwuzhengsa')
>>> print m.group()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>> 
>>> 

2、正则表达式中的split()分割相关匹配:

这里写图片描述

>>> 
>>> p =re.compile(r'\d+')#匹配任意数字
>>> r = p.split('one1two2three3four')#使用任意数据进行分割
>>> print r
['one', 'two', 'three', 'four']
>>> 
>>> 

3、正则表达式中的findall()搜索相关信息的匹配:

>>> 
>>> import re
>>> p = re.compile(r'\d+')#匹配任意数字
>>> p.findall('one1two2three3four')#需要搜索的文本,搜索任意数字
['1', '2', '3']
>>> 

4、re.sub函数进行正则表达式为基础的替换工作:
这里写图片描述

>>> import re
>>> re.sub('[abc]','o','Mark')#对字符Mark字符中存在a,b,c任意字符都替换成字母o
'Mork'
>>> re.sub('[abc]','o','rock')
'rook'
>>> re.sub('[abc]','o','caps')
'oops'
>>> 
>>> 

#re.sub匹配固定个数方式
>>> 
>>> re.sub('[abc]','o','aaaaaabbbbbbbbccccccccc',1)
'oaaaaabbbbbbbbccccccccc'
>>> re.sub('[abc]','o','aaaaaabbbbbbbbccccccccc',2)
'ooaaaabbbbbbbbccccccccc'
>>> re.sub('[abc]','o','aaaaaabbbbbbbbccccccccc',3)
'oooaaabbbbbbbbccccccccc'
>>> re.sub('[abc]','o','aaaaaabbbbbbbbccccccccc',4)
'ooooaabbbbbbbbccccccccc'
>>> re.sub('[abc]','o','aaaaaabbbbbbbbccccccccc',5)
'oooooabbbbbbbbccccccccc'
>>> re.sub('[abc]','o','abcabcabc',1)
'obcabcabc'
>>> re.sub('[abc]','o','abcabcabc',2)
'oocabcabc'
>>> re.sub('[abc]','o','abcabcabc',3)
'oooabcabc'
>>> re.sub('[abc]','o','abcabcabc',4)
'oooobcabc'
>>> re.sub('[abc]','o','baccba',1)
'oaccba'
>>> re.sub('[abc]','o','baccba',2)
'ooccba'
>>> re.sub('[abc]','o','baccba',3)
'ooocba'
>>> re.sub('[abc]','o','baccba',4)
'ooooba'
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值