re.match函数讲解
之前一直对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函数讲解相关推荐
- excel Match函数不同匹配类型用法解析
MATCH 函数可在特定的搜索区域搜索指定值,并返回指定值在搜索区域中的相对位置. 语法结构 MATCH(lookup_value, lookup_array, [match_type]) 通俗说法: ...
- 一文搞懂VLOOKUP、INDEX、MATCH函数
最近,在学习数据分析方向的东西,众所周知,Excel是数据分析所不可或缺的工具,由于过往并没有对Excel进行过深入研究,因此当首次接触到Excel中的函数时,不可避免地被其中一些函数的逻辑绕得有些晕 ...
- avascript中的this与函数讲解
徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大 ...
- R语言match函数对象之间的匹配实战
R语言match函数对象之间的匹配实战 目录 R语言match函数对象之间的匹配实战 #基本语法 #match函数 # 匹配两个向量
- index match函数的使用方法_必学函数组合INDEX+MATCH,秒杀VLOOKUP函数
VLOOKUP 职场里面用的太频繁的,是必须掌握使用的函数公式,在这个函数的使用过程中,有时候用起来也不是很方便,比如下面两个场景 ❶逆向查找匹配 左边是员工编号,姓名,工资表格数据,现在需要根据姓名 ...
- re.match函数 re.search方法 区别
re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, ...
- linux stat函数讲解
stat函数讲解 表头文件: #include <sys/stat.h> #include <unistd.h> 定义函数: int st ...
- MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解
MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解 by:授客 QQ:1033553122 1. unix_timestamp(date)将时间转换为时间戳,如果参数为空,则 ...
- 2批量批量查询数据插入数据_Excel如何快速对数据批量查询,vlookup+match函数高效完成工作...
工作中当出现匹配多次数据时,此时我们就需要更改vlookup函数的第三参数,更改查询的列数.此时你是否在想我手动改就可以了.当然如果查询次数不多时,这也是一种方法.下面将用vlookup+match一 ...
最新文章
- Android App解决卡顿慢之内存抖动及内存泄漏(发现和定位)
- Spring Boot 接入 GitHub 第三方登录,只要两行配置!
- 结合Boost.Geometry和Boost.Assign以及Boost.Range和Boost.Tuple的例子
- 树莓派AI视觉云台——7、树莓派系统备份
- 96秒100亿!如何抗住双11高并发流量?
- python测试开发面试题_python测试开发面试之深浅拷贝
- ASP.NET MVC中controller和view相互传值的方式
- 实数范围内(包含负数)的求模与求余运算异同
- Vue_案例_交互添加_利用子组件调用父组件的添加方法实现---vue工作笔记0023
- git21天打卡day18-新建远程仓库
- JavaScript通过style只能获取内联 状态的样式
- How to use Emerge
- 集结六大行业领袖,「数据科学家」新课全球首发!
- 阿里云OSS配制域名及SSL证书教程
- Java 压缩ZIP包后 压缩包内文件名乱码问题解决
- Fiddler - The system proxy was changed. Click to reenable capturing.
- UVALive 6657 GCD XOR
- 魔方教程一步一步图解(史上最简单的魔方入门教程)新手一看就会
- 保研面试中常见的英语问题有哪些?
- 互联网结合产业,并不是为了继续建筑互联网与实体产业之间的高墙
热门文章
- QDUOJ 来自xjy的签到题(bfs+状压dp)
- idea使用java8新特性,报红提示不支持方法引用
- python 图像识别 1
- 第二次网页前端培训笔记(HTML P4-P7)
- java计算机毕业设计教务管理系统MyBatis+系统+LW文档+源码+调试部署
- MATLAB中图像处理后imshow()将一幅图像显示为3幅图像的原因和解决办法
- react-native记录zIndex控制页面层次出现透过去的现象
- 2021年安全员-C证最新解析及安全员-C证考试试题
- JAXB注解使用详解
- python虚拟机详解_Python 虚拟机实现(一)