简诉Python Re模块中re.search和re.match的区别

Tomorin
Lepaskan: 2018-08-15 13:55:14
asal
3279 orang telah melayarinya

先前的两篇文章《python re.match函数是什么,了解python match函数的使用》,《Python中的python re.search方法详解》,我们介绍了Python中Re模块的match模块和search模块,这边文章就是与前两篇联动说明re.search和re.match的区别

什么是re.search

参见文章《Python中的python re.search方法详解》

什么是re.match:

参见文章:《python re.match函数是什么,了解python match函数的使用》

那么re.search和re.match的区别是什么

简而言之是re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配

实例:

#!/usr/bin/python
import re
line = "Cats are smarter than dogs"; 
matchObj = re.match( r'dogs', line, re.M|re.I)
if matchObj:  
   print "match --> matchObj.group() : ", matchObj.group()
else:   print "No match!!"
matchObj = re.search( r'dogs', line, re.M|re.I)
    if matchObj: 
      print "search --> matchObj.group() : ", matchObj.group()
    else:   
       print "No match!!"
Salin selepas log masuk

以上实例运行结果如下:

No match!!
search --> matchObj.group() :  dogs
Salin selepas log masuk


Atas ialah kandungan terperinci 简诉Python Re模块中re.search和re.match的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan