一:学习内容

  • 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. Windows去除开始菜单图标背景

    1.开始菜单图标右键找到目标程序的存储目录. 2.删除目录下的目标程序名+.VisualElementsManifest.xml的文件. 3.开始菜单图标右键找到图标的存储目录,取消开始屏幕固定并删除 ...

  3. 使用TextView和Textedit

    1.TextView  res/layout 中设置布局文件 hint属性:提示输入信息text属性:与hint的区别---hint仅仅是提示:text是实际的内容讲布局xml文件引入到activit ...

  4. python基础编程: 函数示例、装饰器、模块、内置函数

    目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...

  5. skyweaver 手把手教你写css3通用动画

    之前接了几个微信里的项目,类似电子邀请函,什么分析报告这样的项目, 对css3动画要求十分高,每个页面客户几乎都有天马行空的想法,或者说设计师有这样的想法.众所周知css3里的keyframe写好了就 ...

  6. 转C++之stl::string写时拷贝导致的问题

    前几天在开发某些数据结构到文件的 Dump 和 Load 功能的时候, 遇到的一个 bug . [问题复现] 问题主要出在 Load 过程中,从文件读取数据的时候, 直接使用 fread 的去操作 s ...

  7. ubuntu下mysql的用户添加、授权、取消授权

    一.添加用户 新增用户会有两种方式的,一种是使用create命令,另一种是直接回使用grant 命令 create user 名字@登陆地址 identified by "密码"; ...

  8. pycharm 怎么能像在命令行中输入参数进行调试

    pycharm中配置main参数 Run->Edit Configurations->Script Parames 把需要在xxx.py A B C 后面的参数输入到如下位置. 否则会报错 ...

  9. pycharm 安装 tensorflow

    1. 安装python 3.5  链接:https://www.python.org/downloads/release/python-352/ 1.1如果之前安装了其他版本的,可以在你需要的项目中, ...

  10. 部署dashboard

    1.获取k8s版本: 2.访问dashboard的github:https://github.com/kubernetes/dashboard/releases,然后找到对应的版本 3.然后将yaml ...