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怎么学好python?
Oct 07 Python
Python遍历目录中的所有文件的方法
Jul 08 Python
Python的多维空数组赋值方法
Apr 13 Python
Flask之flask-session的具体使用
Jul 26 Python
简单了解python协程的相关知识
Aug 31 Python
python 实现list或string按指定分段
Dec 25 Python
pytorch 实现打印模型的参数值
Dec 30 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
Mar 27 Python
keras 多gpu并行运行案例
Jun 10 Python
python垃圾回收机制原理分析
Apr 13 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绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
波兰补充商店:Muscle Power
2018/10/29 全球购物
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
如何写出好的Java代码
2014/04/25 面试题
JSF界面控制层技术
2013/06/17 面试题
小学运动会表扬稿
2014/01/19 职场文书
销售员岗位职责范本
2014/02/03 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python
Python如何将list中的string转换为int
2022/07/15 Ruby