python3 re返回形式总结


Posted in Python onNovember 20, 2020

我们在进行程序操作的时候,因为各种原因,需要通过不同的形式返回到之前的对象。不知道小伙伴们会几种返回的函数方法呢?今天要介绍的是findall和finditer这一对小伙伴,它们在输出的形式上有所不同。在这里小编先卖一个关子,想要知道答案的小伙伴,我们接着往下看。

findall(pattern, string, flags=0)

在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过列表list的形式返回。

import re
pattern = re.compile(r'\W+')
result1 = pattern.findall('hello world!')
result2 = pattern.findall('hello world!', 0, 7)
print(result1) #[' ', '!']
print(result2) #[' ']

finditer(pattern, string, flags=0)

在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过迭代器的形式返回。

import re
pattern = re.compile(r'\W+')
result = pattern.finditer('hello world!')
for r in result:
  print(r)
# <re.Match object; span=(5, 6), match=' '>
# <re.Match object; span=(11, 12), match='!'>

Python3 Re常用方法

常用的功能函数包括:compile、search、match、split、findall(finditer)、sub(subn)

1.compile

  • re.compile(pattern[, flags])

作用:把正则表达式语法转化成正则表达式对象

flags定义包括:

  • re.I:忽略大小写
  • re.L:表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  • re.M:多行模式
  • re.S:' . '并且包括换行符在内的任意字符(注意:' . '不包括换行符)
  • re.U: 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库

2.search

  • re.search(pattern, string[, flags])

作用:在字符串中查找匹配正则表达式模式的位置,返回 MatchObject 的实例,如果没有找到匹配的位置,则返回 None。

3.match

  • re.match(pattern, string[, flags])
  • match(string[, pos[, endpos]])

作用:match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,

而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。

到此这篇关于python3 re返回形式总结的文章就介绍到这了,更多相关python3 re有哪些返回形式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python中编写数据库模块的教程
Apr 29 Python
在Django中创建第一个静态视图
Jul 15 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
python使用筛选法计算小于给定数字的所有素数
Mar 19 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
python web框架中实现原生分页
Sep 08 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
tornado+celery的简单使用详解
Dec 21 Python
Python通过Pillow实现图片对比
Apr 29 Python
Pythonic版二分查找实现过程原理解析
Aug 11 Python
python 实现图片修复(可用于去水印)
Nov 19 #Python
python 删除系统中的文件(按时间,大小,扩展名)
Nov 19 #Python
Python并发爬虫常用实现方法解析
Nov 19 #Python
python实现文件分片上传的接口自动化
Nov 19 #Python
Python类class参数self原理解析
Nov 19 #Python
Python爬虫如何破解JS加密的Cookie
Nov 19 #Python
python制作一个简单的gui 数据库查询界面
Nov 19 #Python
You might like
PHP教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
什么是设计模式
2012/06/17 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
jQuery treeview树形结构应用
2021/03/24 jQuery
趣味体育活动方案
2014/02/08 职场文书
学校读书活动总结
2014/06/30 职场文书
单位消防安全责任书
2014/07/23 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript