之前一直对re.match函数的匹配方法感到困惑,今天用具体的例子来讲解一下re.match函数匹配到的不同内容:
第一组代码

import reline = "Cats are smarter than dogs"matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)if matchObj:print("matchObj.group() : ", matchObj.group())print("matchObj.group(1) : ", matchObj.group(1))print("matchObj.group(2) : ", matchObj.group(2))
else:print("No match!!")

对应输出的内容为:
可以看出来这里的matchObj.group(1)匹配的是前面括号之中的.*,而matchObj.group(2)匹配的是后面括号之中的smarter
将第一组代码变换一下,变换成为如下的代码

import reline = "Cats are smarter than dogs"matchObj = re.match( r'(.*)( are )(.*?) .*', line, re.M|re.I)if matchObj:print("matchObj.group() : ", matchObj.group())print("matchObj.group(1) : ", matchObj.group(1))print("matchObj.group(2) : ", matchObj.group(2))print("matchObj.group(3) : ", matchObj.group(3))
else:print("No match!!")

可以看到输出的对应内容如下:
matchObj.group(1)匹配的是第一个(.∗)(.*)(.∗)中的内容,对应内容为Cats,matchObj.group(2)匹配的是第二个( are )中的内容,对应的输出为 are ,matchObj.group(3)匹配的是第三个(.∗?)(.*?)(.∗?)中的内容,即smarter
总结,如果想要在re.match匹配的过程中保存下来匹配完成的结果的时候,需要使用(),有几个括号,re.match出来的结果matchObj.group()的下标就从1到几,最终输出对应的匹配的结果。

re.match函数讲解相关推荐

  1. excel Match函数不同匹配类型用法解析

    MATCH 函数可在特定的搜索区域搜索指定值,并返回指定值在搜索区域中的相对位置. 语法结构 MATCH(lookup_value, lookup_array, [match_type]) 通俗说法: ...

  2. 一文搞懂VLOOKUP、INDEX、MATCH函数

    最近,在学习数据分析方向的东西,众所周知,Excel是数据分析所不可或缺的工具,由于过往并没有对Excel进行过深入研究,因此当首次接触到Excel中的函数时,不可避免地被其中一些函数的逻辑绕得有些晕 ...

  3. avascript中的this与函数讲解

    徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大 ...

  4. R语言match函数对象之间的匹配实战

    R语言match函数对象之间的匹配实战 目录 R语言match函数对象之间的匹配实战 #基本语法 #match函数 # 匹配两个向量

  5. index match函数的使用方法_必学函数组合INDEX+MATCH,秒杀VLOOKUP函数

    VLOOKUP 职场里面用的太频繁的,是必须掌握使用的函数公式,在这个函数的使用过程中,有时候用起来也不是很方便,比如下面两个场景 ❶逆向查找匹配 左边是员工编号,姓名,工资表格数据,现在需要根据姓名 ...

  6. re.match函数 re.search方法 区别

    re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, ...

  7. linux stat函数讲解

    stat函数讲解 表头文件:    #include <sys/stat.h>              #include <unistd.h> 定义函数:    int st ...

  8. MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解

    MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解 by:授客 QQ:1033553122 1. unix_timestamp(date)将时间转换为时间戳,如果参数为空,则 ...

  9. 2批量批量查询数据插入数据_Excel如何快速对数据批量查询,vlookup+match函数高效完成工作...

    工作中当出现匹配多次数据时,此时我们就需要更改vlookup函数的第三参数,更改查询的列数.此时你是否在想我手动改就可以了.当然如果查询次数不多时,这也是一种方法.下面将用vlookup+match一 ...

最新文章

  1. Android App解决卡顿慢之内存抖动及内存泄漏(发现和定位)
  2. Spring Boot 接入 GitHub 第三方登录,只要两行配置!
  3. 结合Boost.Geometry和Boost.Assign以及Boost.Range和Boost.Tuple的例子
  4. 树莓派AI视觉云台——7、树莓派系统备份
  5. 96秒100亿!如何抗住双11高并发流量?
  6. python测试开发面试题_python测试开发面试之深浅拷贝
  7. ASP.NET MVC中controller和view相互传值的方式
  8. 实数范围内(包含负数)的求模与求余运算异同
  9. Vue_案例_交互添加_利用子组件调用父组件的添加方法实现---vue工作笔记0023
  10. git21天打卡day18-新建远程仓库
  11. JavaScript通过style只能获取内联 状态的样式
  12. How to use Emerge
  13. 集结六大行业领袖,「数据科学家」新课全球首发!
  14. 阿里云OSS配制域名及SSL证书教程
  15. Java 压缩ZIP包后 压缩包内文件名乱码问题解决
  16. Fiddler - The system proxy was changed. Click to reenable capturing.
  17. UVALive 6657 GCD XOR
  18. 魔方教程一步一步图解(史上最简单的魔方入门教程)新手一看就会
  19. 保研面试中常见的英语问题有哪些?
  20. 互联网结合产业,并不是为了继续建筑互联网与实体产业之间的高墙

热门文章

  1. QDUOJ 来自xjy的签到题(bfs+状压dp)
  2. idea使用java8新特性,报红提示不支持方法引用
  3. python 图像识别 1
  4. 第二次网页前端培训笔记(HTML P4-P7)
  5. java计算机毕业设计教务管理系统MyBatis+系统+LW文档+源码+调试部署
  6. MATLAB中图像处理后imshow()将一幅图像显示为3幅图像的原因和解决办法
  7. react-native记录zIndex控制页面层次出现透过去的现象
  8. 2021年安全员-C证最新解析及安全员-C证考试试题
  9. JAXB注解使用详解
  10. python虚拟机详解_Python 虚拟机实现(一)