python3 re返回形式总结

我们在进行程序操作的时候,因为各种原因,需要通过不同的形式返回到之前的对象。不知道小伙伴们会几种返回的函数方法呢?今天要介绍的是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有哪些返回形式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python3 re返回形式总结

    我们在进行程序操作的时候,因为各种原因,需要通过不同的形式返回到之前的对象.不知道小伙伴们会几种返回的函数方法呢?今天要介绍的是findall和finditer这一对小伙伴,它们在输出的形式上有所不同.在这里小编先卖一个关子,想要知道答案的小伙伴,我们接着往下看. findall(pattern, string, flags=0) 在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过列表list的形式返回. import re pattern = re.compil

  • PHP中mysqli_affected_rows作用行数返回值分析

    本文实例分析了PHP中mysqli_affected_rows作用行数返回值.分享给大家供大家参考.具体分析如下: mysqli中关于update操作影响的行数可以有两种返回形式: 1. 返回匹配的行数 2. 返回影响的行数 默认情况下mysqli_affected_rows返回的值为影响的行数,如果我们需要返回匹配的行数,可以使用mysqli_real_connect函数进行数据库连接的初始化,并在函数的flag参数位加上: MYSQLI_CLIENT_FOUND_ROWS return nu

  • ImageMagickObject获取图片的信息无返回值的解决办法

    通过ImageMagickObject的identify获取图片的信息,在命令行下好用,但是放到程序里就得不到返回值,经过实践发现只能使用format参数进行格式化后才能返回数据. 复制代码 代码如下: SET oImg = Server.CreateObject("ImageMagickObject.MagickImage.1") vReturn = oImg.identify("-format","%m,%hx%w","c:\sha

  • Python2和Python3.6环境解决共存问题

    Linux下安装Python3.6和第三方库 https://www.jb51.net/article/150478.htm 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装python3.6 1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel

  • python3中os.path模块下常用的用法总结【推荐】

    abspath 返回一个目录的绝对路径 Return an absolute path. >>> os.path.abspath("/etc/sysconfig/selinux") '/etc/sysconfig/selinux' >>> os.getcwd() '/root' >>> os.path.abspath("python_modu") '/root/python_modu' basename 返回一个

  • Python2与Python3的区别点整理

    python解释器默认编码(python2与python3的区别一) python2 解释器默认编码:ascii python3 解释器默认编码:utf-8 输入(python2与python3的区别二) python2:name=raw_input('请输入姓名') python3:name=input('请输入你的姓名') 输出(python2与python3的区别三) python2:print "你好" python3:print("你好") 数字表示(py

  • 一文详解如何根据后端返回的url下载json文件

    目录 需求场景描述 实现思路分析 完整的 demo 示例 总结 需求场景描述 有时候会遇到异步接口会返回一个 url 地址,然后前端需要根据这个 url 地址去下载文件资源的需求场景. 而这个 url 其实是一个静态资源地址,并非一个经过后端接口内部处理的接口地址. 所以当尝试像下面这样使用 a 标签去执行该 url 地址,会发现它是直接预览打开的一个 json 文件(也可能是一个txt,js等文件) <a href=" http://192.168.0.172:8888/file/pac

  • 关于Python数据结构中字典的心得

    本篇主要介绍:常见的字典方法.如何处理查不到的键.标准库中 dict 类型的变种.散列表的工作原理等.一下是全部内容: 泛映射类型 collections.abc 模块中有 Mapping 和 MutableMapping 这两个抽象基类,它们的作用是为 dict 和其他类似的类型定义形式接口. 标准库里所有映射类型都是利用 dict 来实现的,它们有个共同的限制,即只有可散列的数据类型才能用做这些映射里的键. 问题: 什么是可散列的数据类型? 在 python 词汇表(https://docs

  • 深入浅析Python2.x和3.x版本的主要区别

    版本说明 Python 3.0在设计的时候没有考虑向较早版本相容 Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数. 除非为了使用旧的Python2.x项目代码或只支持2.x的第三方库,否则不推荐使用2.x进行编程 死人的print函数 Python 2.6与Python 2.7里面,以下三种形式是等价的: print "fish" print ("fish&q

  • 编写python程序的90条建议

    1. 首先 建议1.理解 Pythonic 概念--详见 Python 中的<Python之禅> 建议2.编写 Pythonic 代码 (1)避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名.害怕过长变量名等.有时候长的变量名会使代码更加具有可读性. (2)深入学习 Python 相关知识,比如语言特性.库特性等,比如Python演变过程等.深入学习一两个业内公认的 Pythonic 的代码库,比如Flask等. 建议3:理解 Python 与 C 的不同之处,比如缩进与 {},单

随机推荐