Python基础学习之re正则表达式

1. 对于基本的正则表达式模块介绍,请参考下列链接:
     re正则表达式


2. 修饰符(下列修饰符比较常用)

修饰符 描述
re.I 使匹配对大小写不敏感
re.M 多行匹配,影响 ^ 和 $
re.S 使 . 匹配包括换行在内的所有字符
        
3.贪心和非贪心算法

贪心:

使用 .* 匹配字符串,尽可能大的原则去匹配字符串。

非贪心: 

使用 .*? 匹配字符串,少量多餐


举例说明:

使用贪心


import re

line = "affdfxxIxxdfjiejiexxlovexxeijfeifdxxyouxxjfiei"
#(.*?)非贪心算法,少量多餐
matchObj = re.findall( r'xx(.*?)xx', line, re.M|re.I)
for i in matchObj:
    print i

#.*贪心算法,最大匹配
matchObj_2 = re.findall(r'xx(.*)xx',line,re.M|re.I)
for i in matchObj_2:
    print matchObj_2


result:

I
love
you
['Ixxdfjiejiexxlovexxeijfeifdxxyou']

Process finished with exit code 0



4.python正则中的group()与groups()

group():匹配的整个表达式的字符串=group(0)

group(1),group(2):返回一个包含那些组所对应值的元组

groups(): =(group(1),group(2)...)


import re

line = "affdfxxIxxdfjiejiexxlovexxeijfeifdxxyouxxjfiei"
obj=re.search(r'(\w+)I(\w+)love(\w+)',line)
print obj.group()
print obj.group(1),obj.group(2),obj.group(3)
print obj.groups()


结果:

affdfxxIxxdfjiejiexxlovexxeijfeifdxxyouxxjfiei
affdfxx xxdfjiejiexx xxeijfeifdxxyouxxjfiei
('affdfxx', 'xxdfjiejiexx', 'xxeijfeifdxxyouxxjfiei')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值