>>> import re
>>> r1 = r'bugs' # 字符串前加"r"反斜杠就不会被任何特殊方式处理,这是个习惯,虽然这里没用到
>>> re.findall(r1, 'bugsbunny') # 直接利用re模块进行解释性地匹配
['bugs']
>>>
>>> r2 = re.compile(r1) # 如果r1这个匹配规则你会经常用到,为了提高效率,那就进行预编译吧
>>> r2 # 编译后的正则对象
<_sre.SRE_Pattern object at 0x7f5d7db99bb0>
>>>
>>> r2.findall('bugsbunny') # 访问对象的findall方法得到的匹配结果与上面是一致的
['bugs'] # 所以说,re模块中的大多数函数和已经编译的正则表达式对象和正则匹配对象的方法同名并且具有相同的功能
>>> import re
>>> r1 = r'bugs'
>>> r2 = re.compile(r1,re.I) # 这里选择的是忽略大小写的标志,完整的是re.IGNORECASE,这里简写re.I
>>> r2.findall('BugsBunny')
['Bugs']<br><br># re.S 使.匹配换行符在内的所有字符<br># re.M 多行匹配,英雄^和$<br># re,X 用来使正则匹配模式组织得更加清晰
>>> m = re.match('bugs', 'bugsbunny') # 模式匹配字符串
>>> if m is not None: # 如果匹配成功,就输出匹配内容
... m.group()
...
'bugs'<br>>>> m<br><_sre.SRE_Match object at 0x7f5d7da1f168> # 确认返回的匹配对象
>>> m = re.search('bugs', 'hello bugsbunny')
>>> if m is not None:
... m.group()
...
'bugs'
>>> m = re.findall('bugs', 'bugsbunnybugs')
>>> m
['bugs', 'bugs']
>>> m = re.finditer('bugs', 'bugsbunnybugs')
>>> m.next() # 迭代器用next()方法返回一个匹配对象
<_sre.SRE_Match object at 0x7f5d7da71a58> # 匹配用group()方法显示出来
>>> m.next().group()
'bugs'
>>> r = 'a.b'
>>> m = 'acb abc aab aac'
>>> re.sub(r,'hello',m)
'hello abc hello aac'<br>>>> re.subn(r,'hello',m)<br>('hello abc hello aac', 2)
>>> s = '1+2-3*4' >>> re.split(r'[\+\-\*]',s) ['1', '2', '3', '4']
>>> m = re.match('(\w{3})-(\d{3})','abc-123')
>>> m.group() # 完整匹配
'abc-123'
>>> m.group(1) # 子组1
'abc'
>>> m.group(2) # 子组2
'123'
>>> m.groups() # 全部子组
('abc', '123')
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有