第一部分re.match()

re.match(a,b),a放正则表达式(regular expression),b放要匹配的字符串。re.match总是从字符串的第一个字符(包括数字)开始匹配,且只匹配完一次后就结束,如果不是第一个字符则返回none

import re   #导入re模块s = '0www.weather.com'  #字符串,我在第一个位置加了数字0
pt = r'w'                #pattern,放自定义的正则表达式
rm = re.match(pt,s)      #匹配
print(rm)                 >>>None

因为我不是从第一个字符0开始匹配,所以结果就是None
因此re.match()只能从第一个字符开始匹配
比如我要匹配到第一个e,

import res = '0www.weather.com'
pt = r'\d.+e'
rm = re.match(pt,s)
print(rm.group(0))   #要加group(0)即自身>>>0www.weathe

结果匹配到第二个e了,这是因为+是“贪婪”的,所以需要加“?”,如下

pt = r'\d.+?e'

上面说明要匹配字符串,re.match一定要从首字符开始,而re.search(),re.findall不需要

第二部分re.search()

re.search()函数在字符串中查找匹配,查到第一处之后即刻结束,(不需要从首字符开始),

import res = '0www.weather.com'
pt = r'w'
rc = re.compile(pt)   #使用re.search记得要编译
rs = re.search(rc,s)
print(rs.group(0))>>>w

我们看到上面有很多w,但只返回一个w

第三部分re.findall()

re.findall遍历字符串进行匹配(也就是说会遍历匹配一直到字符串结束),并返回一个list格式(就算是只有一个字符也是list格式)

import res = '0www.weather.com'
pt1 = r'w'
pt2 = r'c'
rf1 = re.findall(pt1,s)
rf2 = re.findall(pt2,s)
print(rf1,rf2)>>>['w', 'w', 'w', 'w'] ['c']
import re
s = 'cat pat hat'
pt = r'[^p]a.'
rc = re.compile(pt)
print(rc.findall(s))>>>['cat', 'hat']

python re.match、re.search以及re.findall的区别相关推荐

  1. 【整理】Python中的re.search和re.findall之间的区别和联系 + re.finall中带命名的组,不带命名的组,非捕获的组,没有分组四种类型之间的区别

    之前自己曾被搞晕过很多次. 后来使用这些函数次数多了之后,终于比较清楚的弄懂了两者之间的区别和关系了. 尤其是一些细节方面的注意事项了. 在看下面的总结和代码之前,请先确保你对如下基本概念已经有所了解 ...

  2. python中match的六种用法,python 正则函数match()和search()用法示例

    这篇文章主要为大家详细介绍了python 正则函数match()和search()用法示例,具有一定的参考价值,可以用来参考一下. 对python正则表达式函数match()和search()的区别详 ...

  3. re.search与re.findall的区别

    re.search和re.findall的区别和联系 re.search 函数返回的结果是 一个Match对象 常见的获得对应的值的方法 通过Match对象内的group编号或命名,获得对应的值 re ...

  4. Python:正则表达式match、search、findall、finditer区别,group()、groups()与group(index)的区别

    1.match re.match(pattern, string[, flags]) 从首字母开始开始匹配,string如果包含pattern子串,则匹配成功,返回Match对象,失败则返回None, ...

  5. python正则表达式match,search,find的使用方法

    1.使用match()匹配字符串: match()函数试图从字符串的开始部分对模式进行匹配, 匹配对象的group()方法能够用于显示那个成功的匹配. >>>import re &g ...

  6. Python 正则表达式 match、findall、search

    今天在练习爬虫的时候,居然发现不会用python正则提取数据,特地来总结一下python的常用三个数据提取函数 先来看一下 match 和 search 的区别:match 并不会扫描整个字符串,只会 ...

  7. python re match groups_python re.match与re.search的区别

    re.match与re.search的区别 re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None:而re.search匹配整个字符串,直到找到一个匹配. i ...

  8. 译-在Python正则模式中search()和match()的区别是什么?

    问:在Python正则模式中search()和match()的区别是什么? 我已经阅读了现有的相关文档,但是我总是记不住,碰到类似的问题,我还要不断地查找再学习,我希望某个大神能够给个清晰的案例,让我 ...

  9. python正则表达式函数match()和search()的区别详解

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

最新文章

  1. 自动驾驶汽车数据闭环方法分析
  2. log4net按照不同的【LEVEL】级别输出到不同文件
  3. windows 7下同时安装visual studio 2012和2010
  4. 匈牙利算法c语言代码,漫谈匈牙利算法
  5. 单片机小白学步系列(十七) 单片机/计算机系统概述:核心模块
  6. haproxy负载均衡_Haproxy+keepalived高可用集群实战
  7. python怎么读取csv文件-使用Python读写csv文件的三种方法
  8. 网上支付失败了我该怎么办
  9. Cache-control
  10. Atitit 字符串转换数组main参数解析 args splitByWholeSeparator String string= -host 101.1 8*124 -db 1
  11. 冗余链路引起广播风暴和MAC地址表不稳定
  12. 生意参谋和数据银行盘点:品牌+市场+产品
  13. Android 画笔功能
  14. mdadm chuck_面向所有人的Python-Chuck博士提供的14小时免费Python课程
  15. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(8月8日~8月14日)...
  16. NOI 3255:十进制到六进制
  17. CSRF跨站请求伪造 | 总结记录
  18. iphone补电代码大全_手机资讯:iPhone ICCID激活策略和运营商查询地址大全
  19. 干饭了干饭了!Java8种排序算法下饭总结
  20. java8 BigDecimal 除法保留三位小数 后面小数进位处理

热门文章

  1. 第十五届全国大学生智能汽车竞赛 车模检查手册
  2. 负数对2取余_不同语言的负数取余问题
  3. Linux下新增的代码放哪儿,linux – 如何在QEMU源代码中添加新设备?
  4. php输出mysql错误日志_PHP_PHP中把错误日志保存在系统日志中(Windows系统),【将错误记录到系统日志中】 - phpStudy...
  5. python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)
  6. php 将图片截取成3张,【php】php gd库怎么把一个图片裁剪成圆形的
  7. matlab GUI figure置右上角
  8. matlab subs
  9. SystemView软件中“Butterworth Lowpass IIR“的完美设置
  10. FPGA中如何实现双边沿采样?