python正则表达式flags参数使用

本文介绍了Python中正则表达式的flags参数,包括re.I(不区分大小写)、re.DEBUG(调试模式)和re.S(使.匹配包括换行符在内的所有字符)。通过实例展示了如何使用这些标志,并探讨了贪婪模式与非贪婪模式的区别。

介绍re.I、re.DEBUG、re.S的使用,多个flags如何使用;正则表达式贪婪模式、非贪婪模式使用实例,re.search()正则表达式传变量。

C:\Users\Administrator.ZHANGHAO-PC>python
Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.search('abC','ABC',flags=re.I)
<_sre.SRE_Match object at 0x0000000001E64510>
>>>
>>> re.search('abC','ABC',flags=re.I).group()     ###正则匹配时,不区分大小写
'ABC'
>>> patern=re.compile('abC',re.I)
>>> re.search(patern,'ABC')
<_sre.SRE_Match object at 0x0000000001E64510>
>>>
>>> re.search(patern,'ABC').group()
'ABC'
>>>
>>> re.search('abC','ABC',flags=re.I | re.DEBUG).group()    ###2个参数,使用|分割
literal 97
literal 98
literal 67
'ABC'
>>> str='''
... abc
... def'''
>>>
>>>
>>> str
'\nabc  \ndef'
>>> re.search('abC.*f',str,flags=re.I | re.DEBUG | re.S).group()   ###使用re.S时,.可以匹配任意字符,包括换行
literal 97
literal 98
literal 67
max_repeat 0 4294967295
  any None
literal 102
'abc  \ndef'
>>> str2='''
... abc
... def
... def
... '''
>>> re.search('abC.*f',str2,flags=re.I | re.DEBUG | re.S).group()    ###贪婪模式,最长匹配
literal 97
literal 98
literal 67
max_repeat 0 4294967295
  any None
literal 102
'abc  \ndef\ndef'
>>>
>>> re.search('abC.*?f',str2,flags=re.I | re.DEBUG | re.S).group()   ##非贪婪模式匹配,遇到第1个匹配f的不继续匹配
literal 97
literal 98
literal 67
min_repeat 0 4294967295
  any None
literal 102
'abc  \ndef'

 

>>> name='zte'

>>> re.search('name:%s' %name,'name:zte').group()    ##re.search正则表达式可以传变量
'name:zte'

>>>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值