3.2.5.3 search()函数和match()函数区别
2015-09-05 16:45
225 查看
在前介绍的正则表达式里,提供了两个基本的操作函数:search()和match()。这两个基本的函数都是匹配正则表达式的字符串,但它们之间去匹配的模式是有一些区别的,re.match是给出的字符串的头部开始匹配,匹配成功就结束了;而re.search是从给出的字符串头部开始,只要任何位置匹配成功都找出来,这种模式跟Perl语言里缺省方式一致。
例子:
print('search() vs match()')
match = re.match('c', 'abcd')
if match:
print(match)
else:
print('no match')
match = re.search('c', 'abcd')
if match:
print(match)
else:
print('no search')
结果输出如下:
search() vs match()
no match
<_sre.SRE_Match object; span=(2, 3), match='c'>
search也可以使用正则表达式的‘^’来限定从字符串的头部进行匹配:
match = re.search('^c', 'abcd')
if match:
print(match)
else:
print('no search')
在这个例子里,就没有找到相应的c字符串。同时,在多行模式之下,match只匹配第一行的首部开始,但search是匹配每一行的首部,例子如下:
match = re.match('c', 'abcd\ncde', re.M)
if match:
print(match)
else:
print('no match')
match = re.search('^c', 'abcd\ncde', re.M)
if match:
print(match)
else:
print('no search')
结果输出如下:
no match
<_sre.SRE_Match object; span=(5, 6), match='c'>
蔡军生 QQ:9073204 深圳
例子:
print('search() vs match()')
match = re.match('c', 'abcd')
if match:
print(match)
else:
print('no match')
match = re.search('c', 'abcd')
if match:
print(match)
else:
print('no search')
结果输出如下:
search() vs match()
no match
<_sre.SRE_Match object; span=(2, 3), match='c'>
search也可以使用正则表达式的‘^’来限定从字符串的头部进行匹配:
match = re.search('^c', 'abcd')
if match:
print(match)
else:
print('no search')
在这个例子里,就没有找到相应的c字符串。同时,在多行模式之下,match只匹配第一行的首部开始,但search是匹配每一行的首部,例子如下:
match = re.match('c', 'abcd\ncde', re.M)
if match:
print(match)
else:
print('no match')
match = re.search('^c', 'abcd\ncde', re.M)
if match:
print(match)
else:
print('no search')
结果输出如下:
no match
<_sre.SRE_Match object; span=(5, 6), match='c'>
蔡军生 QQ:9073204 深圳
相关文章推荐
- 亚稳态的概念
- 新系統必須安裝的軟件列表
- 三维凸包模板
- 【暑假的读书声】—2014.7.1至2015.9.1
- 排序算法时间复杂度对比
- vuGen回放https录制出错
- Design + Code (iOS)
- TOYS - POJ 2318(计算几何,叉积判断)
- web性能优化
- 【c++】大牛解析虚函数表
- linux 扩展源epel
- 黑马程序员----oc基础笔记----多态
- java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializ
- oracle 9i 10g 11g安装文件及补丁集下载地址 全版(备用)
- 学习Java语言的小技巧
- 一步操作关闭iOS状态栏(电池栏)
- 一步操作关闭iOS状态栏(电池栏)
- Struts2无刷新实现登陆退出操作
- 一步操作关闭iOS状态栏(电池栏)
- 微信抢红包微信 PHP代码实现