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 详解相关推荐

  1. Python 之正则表达re.compile()与re.findall()详解

    在使用爬虫提取网页中的部分信息时,采用到了re.compile()与re.findall()两种方法,目的:把网页中的"某某城市土地规划表"截取并打印出来. 网页中的代码: < ...

  2. python哪里下载import包-【Python实战】模块和包导入详解(import)

    1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...

  3. c语言中index函数,MATCH+INDEX函数详解

    原标题:MATCH+INDEX函数详解 小伙伴们好啊,今天和大家分享一个数据查询的最佳搭档--INDEX函数和MATCH函数.这两个函数组合,能够完成VLOOKUP函数和HLOOKUP函数的全部查找功 ...

  4. base6 python 字节_Python使用base64模块进行二进制数据编码详解

    前言 昨天团队的学妹来问关于POP3协议的问题,所以今天稍稍研究了下POP3协议的格式和Python里面的poplib.而POP服务器往回传的数据里有一部分需要用到Base64进行解码,所以就顺便看了 ...

  5. node怎么解析vue代码_vue中node_modules中第三方模块的修改使用详解

    最近用vue在做一个项目,github用上找了一个日历插件,intall到了本项目中,配好以后发现插件的样式风格和项目总体风格相差较大,所以就像这个改一下插件风格, 第一种方法:我直接在父组件中将st ...

  6. 趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心

    趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心 1:CDN:你去小卖部取过快递么? 使用"中间仓库"来优化 网络中的"就近配送" ...

  7. 趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层

    趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层 1:第10讲 | UDP协议:因性善而简单,难免碰到"城会玩" TCP 和 UDP 有哪些区别? UDP 包头是什么样的 ...

  8. Python 正则re模块之findall()详解

    1. 先说一下findall()函数的两种表示形式 import re kk = re.compile(r'\d+') kk.findall('one1two2three3four4') #[1,2, ...

  9. python re findall 效率_python re模块findall()详解

    今天写代码,在写到郑泽的时候遇到了一个坑,这个坑是re模块下的findall()函数. 下面我将结合代码,记录一下 importre string="abcdefg acbdgef abcd ...

  10. python中argparse模块关于 parse_args() 函数详解(全)

    目录 前言 1. 函数讲解 2. 基本用法 3. 实战讲解 前言 原理:命令行解析使用argparse包 作用:命令行传参赋值 可用在机器学习深度学习 或者 脚本运行等 了解这个函数需要了解其背后的原 ...

最新文章

  1. 2022华为首个「天才少年」,是从绩点1.8逆袭的复旦博士
  2. SQLServer存储过程/函数加/解密(轉)
  3. java jfinal 定时任务_JFinal 中的cron4j定时插件
  4. DropdownList 赋初始值问题
  5. HTML 4.01 event 事件
  6. 怎么做蒙特卡洛计算npv_计算机一级:这该死的“进制转换”,这种题到底怎么做?...
  7. u盘启动 联想一体机_联想Y430pAT-ISE(H)U盘安装Win7系统教程
  8. Java 数组获取最大值和最小值
  9. 招商银行网站在chrome中 布局出现大问题,如图
  10. 八款JS框架介绍及比较
  11. 相比 Windows 为什么越来越多人选择Linux?
  12. 人工智能与python编程_人工智能用什么编程_python与人工智能编程
  13. SubSonic学习(二)
  14. pytest文档71-pytest+yaml实现接口自动化框架
  15. 上网访问速度慢的原因(计算机网络常识)
  16. 关于iis中域名转向的问题
  17. 股市中的马太效应带给我们什么股票道理?
  18. 迁移学习系列--领域泛化
  19. 数据处理的基本方法--简要介绍
  20. oracle常用日期格式,ORACLE常用日期数据格式

热门文章

  1. 中文的括号和英文的括号区别_易混标点符号:中英文冒号(:、:)、比号(∶)...
  2. PS(Photoshop)常用快捷键使用大全
  3. 【牛客网刷题系列 之 Verilog快速入门】~ 异步复位的串联T触发器、奇偶校验
  4. MacBook入门之——添加打印机
  5. 树莓派python485设备通信
  6. 路由器桥接设置(扩大wifi信号)
  7. Keras机器翻译实战
  8. mac怎么给移动硬盘分区
  9. 【economic】程序员外包平台
  10. Scrapy实战:使用IDE工具运行爬虫