re模块 match serach findall 详解
re.match
#coding:utf-8
#从首字母开始匹配,匹配一次就结束
import re
s= '23432werwre2342werwrew'
p = r'(\d*)([a-zA-Z]*)'
m = re.match(p,s)
print(m.group()) #返回所有匹配内容 23432werwre
print(m.group(0)) #和group()一样 23432werwre
print(m.group(1)) #返回字串第一个 23432,没有字串则报错
print(m.group(2)) #返回字串第二个 werwre
print(m.groups()) #返回所有字串组成的元组 ('23432', 'werwre'),如果没有字串则为空元组
字串排序:
#coding:utf-8
#从左向右匹配
import re
s= 'abcd'
p = r'((a(b))(c(d)))'
m = re.search(p,s)
print(m.group()) #abcd
print(m.group(1)) #abcd
print(m.group(2)) #ab
print(m.group(3)) #b
print(m.group(4)) #cd
print(m.group(5)) #d
print(m.groups()) #('abcd', 'ab', 'b', 'cd', 'd')
结论:
1 2 3 4 5
( ( ()) ( ()) )
re.search():和re.match一样,只是re.search不是从首字母开始匹配
re.findall():也不是从首字母开始匹配,但是会匹配所有而不是只匹配一次,返回一个列表
1)如果正则表达式里有(),则列表里的元素为元组,每一个元组包含所有的字串。
2)如果正则表达式里没有(),则列表里的每个元素都是字符串,字符串为所有匹配到的内容.
#coding:utf-8
import res = 'abc def ghi 123 456 789'
l= re.findall(r'((\w+)\s+\w+)',s)
print(l)
#[('abc def', 'abc'), ('ghi 123', 'ghi'), ('456 789', '456')]l = re.findall(r'(\w+)\s+(\w+)',s)
print(l)
#[('abc', 'def'), ('ghi', '123'), ('456', '789')]l = re.findall(r'\w+\s+\w+',s)
print(l)
#['abc def', 'ghi 123', '456 789']
re模块 match serach findall 详解相关推荐
- Python 之正则表达re.compile()与re.findall()详解
在使用爬虫提取网页中的部分信息时,采用到了re.compile()与re.findall()两种方法,目的:把网页中的"某某城市土地规划表"截取并打印出来. 网页中的代码: < ...
- python哪里下载import包-【Python实战】模块和包导入详解(import)
1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...
- c语言中index函数,MATCH+INDEX函数详解
原标题:MATCH+INDEX函数详解 小伙伴们好啊,今天和大家分享一个数据查询的最佳搭档--INDEX函数和MATCH函数.这两个函数组合,能够完成VLOOKUP函数和HLOOKUP函数的全部查找功 ...
- base6 python 字节_Python使用base64模块进行二进制数据编码详解
前言 昨天团队的学妹来问关于POP3协议的问题,所以今天稍稍研究了下POP3协议的格式和Python里面的poplib.而POP服务器往回传的数据里有一部分需要用到Base64进行解码,所以就顺便看了 ...
- node怎么解析vue代码_vue中node_modules中第三方模块的修改使用详解
最近用vue在做一个项目,github用上找了一个日历插件,intall到了本项目中,配好以后发现插件的样式风格和项目总体风格相差较大,所以就像这个改一下插件风格, 第一种方法:我直接在父组件中将st ...
- 趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心
趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心 1:CDN:你去小卖部取过快递么? 使用"中间仓库"来优化 网络中的"就近配送" ...
- 趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层
趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层 1:第10讲 | UDP协议:因性善而简单,难免碰到"城会玩" TCP 和 UDP 有哪些区别? UDP 包头是什么样的 ...
- Python 正则re模块之findall()详解
1. 先说一下findall()函数的两种表示形式 import re kk = re.compile(r'\d+') kk.findall('one1two2three3four4') #[1,2, ...
- python re findall 效率_python re模块findall()详解
今天写代码,在写到郑泽的时候遇到了一个坑,这个坑是re模块下的findall()函数. 下面我将结合代码,记录一下 importre string="abcdefg acbdgef abcd ...
- python中argparse模块关于 parse_args() 函数详解(全)
目录 前言 1. 函数讲解 2. 基本用法 3. 实战讲解 前言 原理:命令行解析使用argparse包 作用:命令行传参赋值 可用在机器学习深度学习 或者 脚本运行等 了解这个函数需要了解其背后的原 ...
最新文章
- 2022华为首个「天才少年」,是从绩点1.8逆袭的复旦博士
- SQLServer存储过程/函数加/解密(轉)
- java jfinal 定时任务_JFinal 中的cron4j定时插件
- DropdownList 赋初始值问题
- HTML 4.01 event 事件
- 怎么做蒙特卡洛计算npv_计算机一级:这该死的“进制转换”,这种题到底怎么做?...
- u盘启动 联想一体机_联想Y430pAT-ISE(H)U盘安装Win7系统教程
- Java 数组获取最大值和最小值
- 招商银行网站在chrome中 布局出现大问题,如图
- 八款JS框架介绍及比较
- 相比 Windows 为什么越来越多人选择Linux?
- 人工智能与python编程_人工智能用什么编程_python与人工智能编程
- SubSonic学习(二)
- pytest文档71-pytest+yaml实现接口自动化框架
- 上网访问速度慢的原因(计算机网络常识)
- 关于iis中域名转向的问题
- 股市中的马太效应带给我们什么股票道理?
- 迁移学习系列--领域泛化
- 数据处理的基本方法--简要介绍
- oracle常用日期格式,ORACLE常用日期数据格式