match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none
例如:
#! /usr/bin/env python # -*- coding=utf-8 -*- import re text= 'pythontab' m= re.match(r"\w+", text) if m: print m.group(0) else: print 'not match'
结果是:pythontab
而:
#! /usr/bin/env python # -*- coding=utf-8 -*- # import re text= '@pythontab' m= re.match(r"\w+", text) if m: print m.group(0) else: print 'not match'
结果是:not match
search()会扫描整个字符串并返回第一个成功的匹配
例如:
#! /usr/bin/env python # -*- coding=utf-8 -*- # import re text= 'pythontab' m= re.search(r"\w+", text) if m: print m.group(0) else: print 'not match'
结果是:pythontab
那这样呢:
#! /usr/bin/env python # -*- coding=utf-8 -*- # import re text= '@pythontab' m= re.search(r"\w+", text) if m: print m.group(0) else: print 'not match'
结果是:pythontab
更多关于python正则函数请查看下面的相关文章
您可能感兴趣的文章:
- python正则表达式最详解
- Python 正则表达式详解
- python 正则表达式的使用
- 一篇文章带你入门Python正则表达式
- python正则表达式查找和替换内容的实例详解
- Python3正则表达式之:(?(id/name)yes-pattern|no-pattern)条件性匹配
- python网络爬虫精解之正则表达式的使用说明
- python 淘宝爬虫小实例
本文由 华域联盟 原创撰写:华域联盟 » python正则表达式函数match()和search()的区别
转载请保留出处和原文链接:https://www.cnhackhy.com/37607.htm