es python search 返回_说说Python中search()和match()的区别?

本文探讨了Python正则表达式中search()和match()的区别。match()仅在字符串开头匹配,若不符则返回None,而search()会扫描整个字符串,找到第一个匹配即返回相关对象。
摘要由CSDN通过智能技术生成

01613566b12e19839d160df46864c503.gif

公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说Python中search()和match()的区别?

答:match()和search()两者都是测试正则表达式与字符串是否匹配。不同的是,match() 如果在字符串的开头有0个或更多个字符,符合正则表达式模式,返回相关匹配的实例对象,如果字符串不符合正则表达式模式则返回None;而search()则不同,扫描整个字符串,如果产生了一个匹配正则模式就寻找到这个位置,返回相关匹配的对象。如果没有位置能够匹配这个模式则返回None。

下面用个简单的代码给大家看一下:

import re
str = "谢谢您,关注公众号:程序IT圈";
result = re.match('程序IT圈', str)print(result); //None
result2 = re.match('谢谢您', str)print(result2); //
result3 = re.search('程序IT圈', str)print(result3); //
result4 = re.search('程序员', str)print(result4); //None

  • re.match() 从第一个字符开始找, 如果第一个字符就不匹配就返回None, 不继续匹配. 用于判断字符串开头或整个字符串是否匹配,速度快.

  • re.search() 会整个字符串查找,直到找到一个匹配。

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

1-40、Python面试1-40题汇总

41、说说Python中的正则表达式?42、Python如何实现斐波那契数列?43、说说Python 中 is 和 == 的区别?44、说说Python如何实现杨辉三角?45、说说Python中变量的作用域?46、Python打印九九乘法表有几种方式?47、Python中列表常见的方法有哪些?48、说说Python中yield的用法?49、说说Python中元类是什么?50、Python中几种常见的排序算法?51、说说Python中闭包是什么?52、read、readline和readlines的区别?53、说说Python中with的用法?54、说说Python中连接字符串用join还是+?

关注小猿公众号,每天学习一道题

647061f1f13300f08adacfaf92aa0f89.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值