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爬取Coursera课程资源的详细过程
Nov 04 Python
python中查看变量内存地址的方法
May 05 Python
Python标准库之collections包的使用教程
Apr 27 Python
python opencv3实现人脸识别(windows)
May 25 Python
浅谈Python爬虫基本套路
Mar 25 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
详解django中Template语言
Feb 22 Python
python 安装移动复制第三方库操作
Jul 13 Python
Python如何把不同类型数据的json序列化
Apr 30 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通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
Python 内置函数complex详解
2016/10/23 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
拾金不昧表扬信怎么写
2015/05/04 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书