主要有四个方法:

  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. Gradle 详解

    Gradle简单来说,就是工程的管理,帮我们做了依赖,打包,部署,发布等工作.就像一个管家管理我们的项目,我们只用关心写代码就可以了. 1 gradle-wraaper.properties 主工程的 ...

  2. DRF中的视图集的使用

    1.说明:DRF框架中的视图集: 在drf开发接口中,使用GenericAPIView和视图扩展类结合起来完成接口功能是一件很常见的事情,所以,drf的作者帮我们提前把  GenericAPIView ...

  3. Powershell指令集_1

    目录 目录 前言 程序进度条 Write-Progress 执行表达式 Invoke-Expression 表格化打印信息 Format-Table 获取系统服务 Get-WmiObject 循环 F ...

  4. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_7_增强for循环

    collections实现了interable接口.实现了interable接口就可以使用Foreach int i是临时 变量

  5. pgd 游戏教程 基地

    http://www.pascalgamedevelopment.com/content.php?417-Castle-Game-Engine-6-2-released

  6. DlgResToDlgTemplate 的代码,提取EXE中的资源,然后转化成C的字符串数组

    代码来源:https://www.codeproject.com/Articles/13330/Using-Dialog-Templates-to-create-an-InputBox-in-C #i ...

  7. 【opencv】opencv图像识别的一些基础的基础函数的使用方法

    import cv2 import numpy as np from matplotlib import pyplot as plt pic_path = "deal_with.png&qu ...

  8. python笔记01(详情请看廖雪峰的官方网站)

    python 在调用函数的时候, 如果传入的参数数量不对, 如果传入的参数类型不对 会报TypeError的错误,并且Python会明确提示参数错误原因. hex()内置函数会把一个整数转换成十六进制 ...

  9. 001/Node.js(Mooc)--基础知识

    一.Node.js基础知识 node.js用C++语言编写. 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时 ...

  10. 编码总结一:Java默认字符集

    (一)JVM默认字符集——Charset.defaultCharset() 获取Java虚拟机默认字符集,该字符集默认跟操作系统字符集一致,也可以通过-Dfile.encoding="GBK ...