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

公众号新增加了一个栏目,就是每天给大家解答一道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); //<re.Match object; span=(0, 3), match='谢谢您'>

result3 = re.search('程序IT圈', str)
print(result3); //<re.Match object; span=(10, 15), match='程序IT圈'>

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还是+?

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

(0)

相关推荐

  • Python正则表达式之re.match()分组

    https://www.jianshu.com/p/cc26837242b1 我们在面对生物数据,比如序列信息(比如碱基序列.氨基酸序列等)的时候, 会时常要问,这其中是否包含着且含有多少某种已知的模 ...

  • Python的match和search区别是什么?

    在学习Python的过程中,很多人傻傻分不清match和search区别,那么你知道Python开发中match和search的区别是什么吗?如果不知道,这篇文章一定要看,会给你带来一定的帮助. 什么 ...

  • 最全面的Python正则表达式详解,读完你绝不后悔

    正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...

  • Python中tuple和list的区别?基础学习!

    想必大家都知道,Python数据类型有很多种,其中有两个对象的写法非常相似,它就是tuple元组和list列表,让人傻傻分不清楚.那么你知道Python中tuple和list有什么区别吗?我们来看看具 ...

  • Python中classmethod和staticmethod的区别

    今天来写一下装饰器classmethod和staticmethod这两个关键词.一般实现书写类结构体方法有三种,分别是实例方法(instancemethod).classmethod.staticme ...

  • Python中迭代器和生成器的区别?

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

  • Python中深拷贝与浅拷贝的区别?

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

  • 【Python面试】 说说Python中xrange和range的区别?

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

  • Python中is与==的使用区别详解

    Python中is与==的使用区别详解

  • Python中Json和dict区别对比?入门分享!

    最近有人问小编说:Python开发中字典和Json的区别是什么?关于这个问题,小编通过下文为大家介绍一下. 什么是字典? 字典是一种数据结构,而json是一种数据格式就会有一些形式上的限制,比如jso ...

  • Python中read、readline和readlines的区别?

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

  • 说说Python 中 is 和 == 的区别?

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