match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢?

match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

例如:

#! /usr/bin/env python

# -*- coding=utf-8 -*-

import re

text = 'pythontab'

m = re.match(r"\w+", text)

if m:

print m.group(0)

else:

print 'not match'

结果是:pythontab

而:

#! /usr/bin/env python

# -*- coding=utf-8 -*-

#

import re

text = '@pythontab'

m = re.match(r"\w+", text)

if m:

print m.group(0)

else:

print 'not match'

结果是:not match

search()会扫描整个字符串并返回第一个成功的匹配

例如:

#! /usr/bin/env python

# -*- coding=utf-8 -*-

#

import re

text = 'pythontab'

m = re.search(r"\w+", text)

if m:

print m.group(0)

else:

print 'not match'

结果是:pythontab

那这样呢:

#! /usr/bin/env python

# -*- coding=utf-8 -*-

#

import re

text = '@pythontab'

m = re.search(r"\w+", text)

if m:

print m.group(0)

else:

print 'not match'

结果是:pythontab

总结:

Python中正则表达式match()函数

如果不创建pattern对象,我们使用match函数可以直接进行正则表达式的匹配,在我看来这种方式更简洁,不过不适合大型程序的编写,后期维护可能会产生困难,不过编写一些小脚本完全可以胜任。

Python中正则表达式search()函数

search函数和match函数有点类似,都可以匹配模式,但是match和search函数也有区别,而且区别很大,match函数只能够字符串的开始位置开始匹配,而search是可以匹配字符串的任意位置,但也是返回找到的第一个匹配的模式。我们通过例子来了解这俩之间的区别吧。

本文标题: Python中正则表达式match()、search()函数及match()和search()的区别详解

本文地址: http://www.cppcns.com/wangluo/re/131665.html

python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...相关推荐

  1. python删除文件夹下文件夹_python删除指定文件夹下文件和文件夹的方法详解

    前记 python删除指定文件夹下的文件,是一个常用的功能.我找了不少地方,一直没有找到合适的模版,那只好自己倒腾一个比较实用的模版了. 基本模块 这里面会用到几个模块,一个是目录下所有文件的的函数: ...

  2. python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解

    首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...

  3. python函数定义及调用-python函数声明和调用定义及原理详解

    这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前 ...

  4. [Python从零到壹] 六十四.图像识别及经典案例篇之图像傅里叶变换和傅里叶逆变换详解

    祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...

  5. python函数声明和调用定义及原理详解

    这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前 ...

  6. python装饰器函数-Python函数装饰器常见使用方法实例详解

    本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...

  7. python中的方法和函数的区别_python中函数与方法的区别?

    Python中函数不是方法,主要有以下区别: 首先,从分类的角度来分析二者的区别 (1)函数的分类: 内置函数:python内嵌的一些函数. 匿名函数:一行代码实现一个函数功能. 递归函数:自己调用自 ...

  8. python属性和方法的区别_Python中几种属性访问的区别

    起步 python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__ .本文阐述它们的区别和用法. 属性的访问 ...

  9. python属性和方法的区别_Python中几种属性访问的区别与用法详解

    起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...

最新文章

  1. DateGridView的外观美化
  2. Python-函数递归调用
  3. 前端学习(526):等分布局
  4. python比特币挖矿_比特币如何挖矿(挖矿原理)-工作量证明
  5. python实现希尔排序算法_排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)...
  6. 企业数据云公司Cloudera发布CDP私有云,完善整套企业数据云愿景
  7. java如何实现tcp传输图像_如何在java中实现TCP服务器和TCP客户端传输文件
  8. spring mysql中文乱码问题_解决Spring下MySQL出现乱码的问题
  9. php 抽象类 静态 单体设计模式
  10. R语言中,保留含有特定字符的元素
  11. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)
  12. 获取公众号文章封面 API 接口
  13. linux ext4 inode,Ext4文件系统中inode数量的限制
  14. Unity爆炸、闪电、火焰、雷雨特效Demo
  15. 使用android新特性:Material Design
  16. ESD元器件防护原理及选型
  17. 量化交易alpha、beta、shape等基本概念梳理
  18. 智慧工地管理平台系统赋能建筑工地绿色施工
  19. buaa oo-unit3
  20. expected declaration or statement at end of input

热门文章

  1. leetcode 81 python
  2. 树莓派linux共享目录,树莓派局域网文件共享
  3. php批量新增数据类型,Yii框架批量插入数据扩展类的简单实现方法
  4. 二叉树——淘汰赛(洛谷 P4715)
  5. 怪物猎人ol服务器维护,《怪物猎人OL》5月11日1:30全区全服维护内容公告
  6. c语言过磅系统,为什么要用无人值守_自动过磅系统?
  7. c扩展php 对象,PHP扩展开发之面向对象
  8. 直播预告丨 Oracle 12C~19C统计信息的最佳实践
  9. 云小课|云小课带你快速掌握云数据迁移CDM
  10. 升级过log4j,却还没搞懂log4j漏洞的本质?