Match()和search()都是python中的常规匹配函数。这两种功能有什么区别?
match()函数只检测RE在字符串开头是否匹配,search()扫描整个字符串是否匹配,也就是说match()只有在0位置匹配成功才会返回,如果在开头位置匹配不成功,match()就不返回。
例如:
#!/usr/bin/env python #-*-coding=utf-8-*-import retext=' py ontab ' m=re . match(r ' w ',text)如果m : print m . group(0)else 3360 print ' not match '结果为:py ontab。
以及:
#!/usr/bin/env python #-*-coding=utf-8-*-# import retext=' @ pyontab ' m=re . match(r ' w ',text)如果m : print m . group(0)else 3360 print ' not match '结果为:not。
Search()扫描整个字符串并返回第一个成功匹配的字符串。
例如:
#!/usr/bin/env python #-*-coding=utf-8-*-# import retext=' pyontab ' m=re . search(r ' w ',text)如果m : print m . group(0)else 3360 print ' not match '结果为:pyontab。
这个怎么样:
#!/usr/bin/env python #-*-coding=utf-8-*-# import retext=' @ pyontab ' m=re . search(r ' w ',text)如果m : print m . group(0)else 3360 print ' not match '结果是:python。
总结:
Python中的正则表达式match()函数。
如果我们不创建模式对象,我们可以使用匹配函数直接匹配正则表达式。在我看来,这种方法比较简洁,但是不适合写大程序,后期维护可能比较困难,但是写一些小脚本是完全可以胜任的。
Python中的正则表达式搜索()函数。
搜索功能和匹配功能有些相似,都可以匹配模式,但是匹配和搜索功能也不同,差别很大。Match函数只能从字符串的开头开始匹配,而search可以匹配字符串的任何位置,但它也会返回找到的第一个匹配模式。让我们通过例子找出两者的区别。