Python RE模块中search和match的区别是什么?

2025-03-24 11:17:16
推荐回答(1个)
回答(1):

一、解释:
  match()函数只检测RE是不是在string的开始位置匹配
  search()会扫描整个string查找匹配,会扫描整个字符串并返回第一个成功的匹配
  也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none
二、例子:
  match():
   print(re.match(‘super’, ‘superstition’).span())会返回(0, 5)
   print(re.match(‘super’, ‘insuperable’))则返回None
  search():
   print(re.search(‘super’, ‘superstition’).span())返回(0, 5)
   print(re.search(‘super’, ‘insuperable’).span())返回(2, 7)