一:学习内容

  • 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. mybatis如何接收字符串转换为date类型插入数据库

    今天遇到一个问题,先描述一下: 后台获取数据,有一个字段是时间字段,后台传过来的是字符串类型的,如:2016/11/16 10:26:17, 将该字符串放在map对象中(持久层用的是mybatis或者 ...

  2. 使用flex布局解决百分比高度元素垂直居中

    方法一: align-self(解决父元素下面单个子元素布局方式) 父级加上 div{display:flex} 子元素 span { flex-grow: 1; align-self: center ...

  3. css基础(代码)

    display: block; /*元素分为三大类,设置元素的显示方式}                                         行内 inlineli{            ...

  4. vue中的常用三元

    点击事件的三元 <el-button type="primary" @click="edit == 'mod' ? sureModify() : submit()& ...

  5. 1 sql server 利用多重赋值将一列的数据以逗号分隔,返回

    declare @mav varchar(max) select @mav=coalesce(@mav+', '+d.Name,d.Name) from ( select Name from Huma ...

  6. array数据处理

    之前写过map,forEach,现在用到every和some,记录一下当作学习笔记,方便以后翻阅. forEach是没有返回值的,对原数组进行修改: // forEach没有返回值,只针对每个元素调用 ...

  7. ubuntu18.04安装fcitx

    fcitx安装比较麻烦,我每次安装都要费不少劲,每次装安之后都没有写日志记录下来,导致下次装的时候又手忙脚乱,所以这次一定要记录下来. 前因: 我本来用的是ibus,但是这个输入法好像有bug,我在编 ...

  8. Oracle中undo表空间的切换

    查看操作系统: SQL>  !cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.4 (Maipo)查看数据库版本: ...

  9. 1-win10配置 Vagrant 环境

    1-win10配置 Vagrant 环境 2019.9.13 Vagrant 概述 vagrant是一个操作虚拟机的工具.是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 通过命令和配置文件来 ...

  10. Java#Spring框架下注解解析

    @Bean 定义Bean @Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里.添加的bean的id为方法名 @Configura ...