这是re模块与正则的结合

re模块提供的函数

1.match  尝试在字符串的开头应用该模式,返回匹配对象,如果没有找到匹配,则为None。

 import re

 str1 = "Why are you keeping this curiosity door locked?"
res = re.match('\w+y', str1)
print(res)

如果要获取匹配的值则需要调用group()方法:

print(res.group())

2. fullmatch  表示匹配全部字符串,返回匹配对象,如果没有找到匹配,则返回None。

import re

str1 = "Why are you keeping this curiosity door locked?"
res = re.fullmatch('\w+y', str1)
print(res)

import re

str1 = "Why"
res = re.fullmatch('\w+y', str1)
print(res)

3.search  匹配到第一个符合的字符串就会停止,返回匹配对象,如果没有找到匹配,则返回None。

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.search('\w+g', str1)
print(res)
print(res.group())

match  就相当于 re.search('^RE', string) (从头开始去匹配)

4. findall 匹配字符串中所有符合的 ,返回匹配对象(列表),如果没有找到匹配,则返回None。

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.findall('\w+g', str1)
print(res)

5. sub 把匹配到的字符串再用给的字符替换,然后返回新的字符串

sub(pattern, repl, string, count=0, flags=0)
import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.sub('ing', 'ed', str1)
print(res)

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.subn('ing', 'ed', str1)
print(res)

subn则会告诉你替换了多少处(返回的是一个元祖)

6. split  相当于 字符串的split的用法, 返回切割后的列表

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.split('e', str1)
print(res)

可以把(RE)用括号括起来就可以把用来切割的 字符串也包含进列表中

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.split('(\we)', str1)
print(res)

7. compile 先把正则编译,如果需要很多匹配的字符串都用到同一个正则表达式,则可以用compile先把正则编译好,可以节约时间

8.finditer  可以从匹配到的列表里一个一个的获取到数据,经常与compile连用处理比较多的数据

 

Python re模块学习的更多相关文章

  1. python - argparse 模块学习

    python - argparse 模块学习 设置一个解析器 使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数.那么当你的程序运行时,该解析器就可以用于处理命令行参数. 解 ...

  2. python paramiko模块学习分享

    python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...

  3. Python logging 模块学习

    logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...

  4. Python time模块学习

    Python time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台. 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪 ...

  5. python os模块学习

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...

  6. python logging模块学习(转)

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

  7. python atexit模块学习

    python atexit模块 只定义了一个register模块用于注册程序退出时的回调函数,我们可以在这个函数中做一下资源清理的操作 注:如果程序是非正常crash,或者通过os._exit()退出 ...

  8. Python 第二模块学习总结

    学习总结: 1.掌握对装饰器的用法 2.掌握生成器的用法 3.掌握迭代器的用法 4.熟悉Python内置函数 5.熟悉Python shutil/shelve/configparse/hashlib/ ...

  9. Python常用模块学习

    1.模块介绍 2.time & datetime模块 3.random 4.os 5.sys 6.shutil 7.json&pickle 8.shelve 9.xml处理 10.ya ...

  10. Python requests模块学习笔记

    目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档   1.Requests模块说明 Requests 是使用 Apache2 Li ...

随机推荐

  1. vue+vue-resource设置请求头(带上token)

    前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...

  2. ftp配置 Laravel上传文件到ftp服务器

    listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask= dirmessage_enable=YES ...

  3. [JDBC/Oracle]设置Statement.setQueryTimeout(seconds)并不好用 原因:环境问题

    对比实验:https://www.cnblogs.com/xiandedanteng/p/11960320.html 注:setQueryTimeout语句还是好用的,但有些环境不支持,下文是在单位虚 ...

  4. 网络分裂 redis 集群

    REDIS cluster-tutorial -- Redis中文资料站 -- Redis中国用户组(CRUG) http://www.redis.cn/topics/cluster-tutorial ...

  5. eclipse中导入spring-boot框架的jar包方法

    如下代码引入了spring-boot的包 package openresty; import java.io.IOException; import java.security.GeneralSecu ...

  6. php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库

    php5..30环境报错Call to undefined function ImageCreate() 编译安装 gd库 发现php5..30没有加载gd库 [root@cn_vs_web04:/u ...

  7. ckpt pb

    (t20190518) luo@luo-All-Series:/dev/disk_2019/mask_rcnn_20190518/Mask_RCNN_20190902/models/research$ ...

  8. linux非root用户安装4.0.14版本redis

    先到官网https://redis.io/download下安装包,现在最新是5.0.5版本,可惜点击下载后被windows禁了,那就下4版本的,往下看Other versions的Old(4.0), ...

  9. 【笔记】第六章、Linux 的文件权限与目录配置

    Linux的每个文件中,依据权限分为使用者.群组与其他人三种身份: 群组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个群组的支持: 利用ls -l显示的文件属性中,第一个字段是 ...

  10. Docker快速入门——Docker-Compose

    一.Docker-Compose简介 1.Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.Docker-Com ...