python正则表达式函数match()和search()的区别
程序员文章站
2022-04-04 14:49:43
match()函数只检测re是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话...
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正则表达式match和search用法实例
-
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
-
python正则表达式函数match()和search()的区别详解
-
详解python while 函数及while和for的区别
-
向Python类和函数传递不同的参数的区别
-
Python中正则表达式match()、search()函数及match()和search()的区别详解
-
Python函数any()和all()的用法及区别介绍
-
python正则表达式函数match()和search()的区别
-
python使用正则表达式的search()函数实现指定位置搜索功能