一:学习内容

  • re.match函数
  • re.search函数
  • re.findall函数

二:re.match函数

需要导入包:import re

1.格式:match(pattern,string,flags = 0)

2.参数

pattern:匹配的正则表达式
string:要匹配的字符串
flags:标识位,用于控制正则表达式的匹配方式,它的值有:
           re.I  忽略大小写
           re.L  做本地化识别
           re.M  多行匹配,影响^和$
           re.S  使.匹配包括换行符在内的所有字符
           re.U  根据Unicode字符集解析字符,影响\w \W \b \B
           re.X  使我们以更灵活的格式理解正则表达式

3.功能:尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,返回None

4.举例:

#扫描整个字符串,返回从起始位置成功的匹配
print(re.match("www","www.baidu.com"))  #匹配正确
print(re.match("www","ww.baidu.com"))   #匹配不到返回None
print(re.match("www","baidu.www.com"))  #匹配不到返回None,从起始位置就要能匹配上
print(re.match("www","wwW.baidu.com"))  #匹配不到,大写的W
print(re.match("www","wwW.baidu.com",flags=re.I))  #匹配正确,因为忽略大小写了

print(re.match("www","www.baidu.com").span())  #匹配正确,返回匹配的位置

三:re.search函数

需要导入包:import re

1.格式:search(pattern,string,flags = 0)

2.参数:
pattern:匹配的正则表达式
string:要匹配的字符串
flags:标识位,用于控制正则表达式的匹配方式,它的值有:
           re.I  忽略大小写
           re.L  做本地化识别
           re.M  多行匹配,影响^和$
           re.S  使.匹配包括换行符在内的所有字符
           re.U  根据Unicode字符集解析字符,影响\w \W \b \B
           re.X  使我们以更灵活的格式理解正则表达式

3.功能:扫描整个字符串,并返回第一个成功的匹配

4.举例:

print(re.search("tester","she is tester!tester is a good girl!"))

四:re.findall函数

需要导入包:import re

1.格式:findall(pattern,string,flags = 0)

2.参数:
pattern:匹配的正则表达式
string:要匹配的字符串
flags:标识位,用于控制正则表达式的匹配方式,它的值有:
           re.I  忽略大小写
           re.L  做本地化识别
           re.M  多行匹配,影响^和$
           re.S  使.匹配包括换行符在内的所有字符
           re.U  根据Unicode字符集解析字符,影响\w \W \b \B
           re.X  使我们以更灵活的格式理解正则表达式

3.功能:扫描整个字符串,并返回所有匹配成功的数据,返回一个列表

4.举例:

print(re.findall("tester","she is tester!Tester is a good girl!",flags=re.I))

python3笔记二十二:正则表达式之函数的更多相关文章

  1. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  2. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

  3. 从零开始学习PYTHON3讲义(十二)画一颗心送给你

    (内容需要,本讲使用了大量在线公式,如果因为转帖网站不支持公式无法显示的情况,欢迎访问原始博客.) <从零开始PYTHON3>第十二讲 上一节课我们主要讲解了数值计算和符号计算.数值计算的 ...

  4. 深度学习课程笔记(十二) Matrix Capsule

    深度学习课程笔记(十二) Matrix Capsule with EM Routing  2018-02-02  21:21:09  Paper: https://openreview.net/pdf ...

  5. OllyDbg 使用笔记 (十二)

    OllyDbg 使用笔记 (十二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1eQiV6aI 安装好程序 ...

  6. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

  7. (C/C++学习笔记) 二十二. 标准模板库

    二十二. 标准模板库 ● STL基本介绍 标准模板库(STL, standard template library): C++提供的大量的函数模板(通用算法)和类模板. ※ 为什么我们一般不需要自己写 ...

  8. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  9. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

  10. 备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)

    备忘录模式 Memento   沿着脚印,走过你来时的路,回到原点.     苦海翻起爱恨   在世间难逃避命运   相亲竟不可接近   或我应该相信是缘份   一首<一生所爱>触动了多少 ...

随机推荐

  1. WebStorm 启动时提示Failed to load JVM DLL

    环境:win7 64位:时间:2019-11-18 问题描述 启动webstorm 时提示failed to load JVM DLL 解决方法 启动时快捷方式要选到64位的exe

  2. 1 sql server中添加链接服务器

    1  链接到另一个sql server 的实例 exec sp_addlinkedserver @server= '服务器的地址',@srvproduct='SQL Server' go 分布式查询中 ...

  3. 面向对象相关概念与在python中的面向对象知识(魔法方法+反射+元类+鸭子类型)

    面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明( ...

  4. java_day11_IO流

    第十一章:IO流 1.流的概念 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行.设备可以是文件,网络,内存等 流具有方向性 ...

  5. Delphi GetCommModemStatus函数

  6. Linux awk命令 --三剑客老大

    Linux awk命令 --三剑客老大 基本用法: awk  [参数]  ['找谁{干啥}']  文件 参数: -F 分隔符 -v 创建或修改awk变量 OFS 输出分割符 awk显示每一列的时候分隔 ...

  7. resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致

    1.1.1.1.      步骤一:将驼峰匹配注释掉 --------------测试完成后仍然 回来开启  其他地方可能用到 一旦注释掉驼峰匹配,那么再通过queryUserById查询的结果中,用 ...

  8. 给移动硬盘装win10,知道这些就足够了

    随着制造工业的不断发展,储存介质逐渐廉价化,以某猫和某狗为代表的电商平台上都能轻松买到大容量的原装移动硬盘.如果工厂的产品还不能满足你的要求,那么DIY是一个不错的选择,可以选择购买移动硬盘盒(2.5 ...

  9. ClassLoader心得

              我们都知道,jvm执行的代码,都是通过jvm加载系统加入的.加载系统的第一步是通过ClassLoader加载class二进制信息,jvm规范中并没有规定class的来源类型,这就给 ...

  10. 关于first-class object的解释

    关于first-class object的解释 定义,什么是编程语言的第一等公民? In computer science, a programming language is said to hav ...