一:学习内容

  • 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. arcgis之隐藏设置放大缩小按钮

    arcgis之隐藏设置放大缩小按钮 隐藏按钮: view.ui._removeComponents(['zoom']) 设置按钮: let zoom = new Zoom({ view: this.v ...

  2. npm install 常用的几个参数

    npm install moduleName # 安装模块到项目目录下 npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm c ...

  3. java 读取property

    Properties prop = new Properties(); String path = AlarmController.class.getResource("/").g ...

  4. java开发环境构建

    一. 基本工具安装 1. 配置终端命令别名 vim ~/.bash_profile *********************************************** # for colo ...

  5. python网络编程:TCP通讯模板、粘包及解决方案、自定义报头

    一.TCP通讯模板 二.远程CMD程序 三.解决粘包问题 四.解决粘包问题2 一.TCP通讯模板 TCP客户端 import socket c = socket.socket() # 连接服务器 c. ...

  6. Jmeter (一) 安装

    https://blog.csdn.net/ls1792304830/article/details/52718177 一.准备工具 1.Windows 操作系统 2.jmeter 3.JDk 依赖环 ...

  7. PAT Basic 1044 火星数字 (20 分)

    火星人是以 进制计数的: 地球人的 被火星人称为 tret. 地球人数字 到 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov ...

  8. java线程基础巩固---多线程下的生产者消费者模型,以及详细介绍notifyAll方法

    在上一次[http://www.cnblogs.com/webor2006/p/8419565.html]中演示了多Product多Consumer假死的情况,这次解决假死的情况来实现一个真正的多线程 ...

  9. Linux——grep binary file

    原创声明:本文系博主原创文章,转载或引用请注明出处. grep命令是linux下常用的文本查找命令.当grep检索的文件是二进制文件时,grep命令会提示: $grep pattern filenam ...

  10. Hadoop-No.16之Kafka

    Apache Kafka 是一種发布-订阅消息的分布式系统.能够将消息归类为不同主题.应用程序能在Kafka上发布信息,或订阅主题进而接受特定主题下发布的消息.Producer发布消息,而Consum ...