主要有四个方法:

  search : 从字符串的任意位置开始检索,首次匹配即结束

  findall : 全部匹配

  sub : 将正则匹配结果进行替换

  split : 根据正则匹配结果将字符串进行切分,然后返回一个列表

import re

'''
search 从字符串的任意位置搜索匹配,检索到第一个匹配的字符串,就结束匹配
''' r = re.search(r'\d+', '有点饿4556')
print(r)
print(r.group()) # r = re.search(r'^\d+$', '有点饿4556')
print(r) # None r = re.search(r'\d+', '有点饿4556 rwehjr 789')
print(r)
print(r.group()) # '''
findall 从字符串的任意位置搜索匹配,匹配所有
''' r = re.findall(r'\d+', '有点饿4556 rwehjr 789')
print(r) # ['4556', '789'] '''
sub 将匹配到的数据进行替换
''' r = re.sub(r'c', 'python', 'c一统江湖, c走向死往')
print(r) # python一统江湖, python走向死往 r = re.sub(r'\d+', '', 'c=1000, python=3000')
print(r) # c=250, python=250 def func(d):
'''表示真正匹配到的结果'''
print(d.group()) # 这里会打印 1000, 3000, 说明匹配了两次,也说明了func调用了两次
return '' # 这里返回int类型竟然报错 r = re.sub(r'\d+', func, 'c=1000, python=3000')
print(r) # c=666, python=666 def func1(d):
return str(int(d.group())+50) r = re.sub(r'\d+', func1, 'c=1000, python=3000')
print(r) # c=1050, python=3050 '''
split 切分
''' s = 'admin:root boot,jet'
r = re.split(r':|\s|,',s)
print(r) # ['admin', 'root', 'boot', 'jet']

re模块的高级使用的更多相关文章

  1. shutil模块(高级的文件、文件夹、压缩包处理模块)

    shutil 模块 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中 import shutil s ...

  2. 模块 collections 高级数据类型

    collections模块 原文来自cnblog 的 Eva-J Eva-J 介绍了collections模块的常用方法,和演示实例 在 Python cookbook 的第一章中还有一些 更加好玩的 ...

  3. 多测师讲解pthon_re模块_高级讲师肖sir

    #import re   一.我们就re模块(也叫正则模块)介绍: 实现一个编译查找,一般在日志处理或者文件处理时用的比较多 正则表达式主要用于模式匹配和替换工作.     预定义字符集匹配: \d: ...

  4. 多测师讲解python_os模块_高级讲师肖sir

    #os.path.isfile()#:判断当前是否为文件,返回布尔值是文件则True否者Falsea_path='F:\cms搭建.rar' #lesson包b_path=r'D:\bao\kk '# ...

  5. shutil模块(高级的文件copy)

    import shutil import os f1 = open('本节笔记.txt', encoding = 'utf-8') f2 = open('笔记2', 'w', encoding = ' ...

  6. requests模块的高级用法

    SSL Cert Verification #证书验证(大部分网站都是https) import requests respone=requests.get('https://www.12306.cn ...

  7. 多测师讲解python _re模块_高级讲师肖sir

    import re# 一.常用方法:# match():从头匹配# search():从整个文本搜索# findall():找到所有符合的# split():分割# sub():替换# group() ...

  8. Winform开发框架之通用高级查询模块

    最近一直忙于公司的事情,虽然一直在做一些相关的技术研究,但是很久没能静下心来好好写写博客文章了,想想也有半个月之多了,这半个月来,也一直致力于改善我的WInform开发框架,使得自己及客户使用起来更加 ...

  9. 转载:《TypeScript 中文入门教程》 5、命名空间和模块

    版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变 ...

随机推荐

  1. leetcode 62. 不同路径(C++)

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问总共有多 ...

  2. SpringBoot系列:五、SpringBoot使用Actuator

    Actuator为springboot提供了运行状态监控的功能 通过集成它我们可以试试获取到应用程序的运行信息 首先,在pom.xml中引入起步依赖 <dependency> <gr ...

  3. windows 使用 virtualbox,搭建 minikube 环境

    win7 virtualbox 版本: 6.0.12 r133076 (Qt5.6.2) centos7:3.10.0-957.27.2.el7.x86_64 1. virtualbox 中创建 ce ...

  4. 监测工具dstat使用说明

    参考地址: https://blog.csdn.net/sinat_34789167/article/details/80986709

  5. 《计算机程式设计》Week4 课堂笔记

    本笔记记录自 Coursera课程 <计算机程式设计> 台湾大学 刘邦锋老师 Week4 Functions 4-1 System Function 函数主要分为两大类系统定义函数与使用者 ...

  6. try...catch语句

    程序的异常:Throwable 严重问题Error我们不处理,这种问题一般都是很严重的,比如内存溢出 问题Exception 编译期问题不是RuntimeException的异常必须进行处理,如果不处 ...

  7. Map m=new HashMap()

    Map<String,String> m=new HashMap<String,String>() 等于 HashMap<String,String> hashMa ...

  8. 从SOA 谈软件的发展

    本文是个科普文章,有些内容可能不精准,为了给女儿解释SOA所写.要深刻理解SOA,必须了解软件的发展过程.互联网上有大量的这方面的文章可以参考. 软件与计算机 软件这个概念很年轻,也就不到70年. 软 ...

  9. Centos 下更改MySQL源数据存放目录(datadir)

    MySQL在安装完成之后,其源数据默认存放在 /var/lib/mysql/ 目录下,一般情况下,该目录在根目录下,由于Linux系统默认  根目录所在挂载的磁盘容量有限,随着生产数据的不断产生,该目 ...

  10. fiddler之简单的接口性能测试

    在针对某一个/某一些接口,发送相同的请求,不考虑参数的变化时,可以使用fiddler进行简单的性能测试.(使用功能为:replay) 一.replay功能调用 (1.Reissue Requests: ...