文章目录

  • 前言
  • 一.匹配字符串的方法
    • 1.使用match()方法进行匹配
    • 2.使用search()方法进行匹配
    • 3.使用findall方法进行匹配
  • 二.替换字符串
  • 三.使用正则表达式分割字符串

前言

Python中提供了re模块用于正则表达式的操作,在实现时可以用re模块提供的多种方法对字符串进行处理,re模块在使用时,需要先应用import语句导入,即

import re

不知道其他人对于开始学习正则表达式是什么感觉,反正我是迷糊了很久。下面我们就来仔细讲讲re模块提供的那些方法吧


一.匹配字符串的方法

匹配字符串可以使用re模块提供的match()、search()和findall()等方法

1.使用match()方法进行匹配

match()方法用于从字符串的开始处进行匹配,如果在起始位置匹配成功则返回Match对象,否则返回None,语法格式如下:

re.match(pattern,string,[flags])

pattern:表示模式字符串,由要匹配的正则表达式转换而来
string:表示要匹配的字符串
flags:可选参数,表示标志位,用于控制匹配方式

例如,匹配字符串是否以“hg”开头,不区分大小写:
实现代码:

运行结果:

解释一下运行结果吧,从上面的结果来看,字符串string是以“hg_”开头(不区分大小写),所以返回一个Match对象,而字符串str不是以“hg_”开头,当用match()方法从字符串起始位置开始匹配时,遇见不符合条件的字母便不会再匹配了,所以返回“None”
Match对象中包含了匹配值的位置(使用start()方法获取)和匹配数据(使用end()方法获取),通过span()方法可以返回匹配位置的元组,通过string属性可以获取要匹配的字符串。

例:

运行结果:

2.使用search()方法进行匹配

search()方法用于在整个字符串中搜索第一个匹配的值,如果匹配成功,则返回Match对象,否则返回 None
语法格式如下:

re.search(pattern,string,[flags])

例如,搜索一个以“hg”开头的字符串,不分大小写
实现代码:

运行结果:

从运行结果可以看出来search()方法搜索字符串时,并不一定只能搜索字符串的起始位置,其他位置也可以进行搜索

3.使用findall方法进行匹配

findall()方法用于在整个字符串中搜索所有符合正则表达式的字符串,并以列表的形式返回,如果匹配成功,则返回含有匹配结构的列表,否则返回空列表
语法格式如下:

re.findall(pattern,string,[flags])

例如,搜索一个以“hg”开头的字符串,不分大小写
实现代码:

运行结果:

二.替换字符串

可以用sub()方法用于实现字符串的替换,语法格式如下:

re.sub(pattern,repl,string,count,flags)

pattern:表示模式字符串,由要匹配的正则表达式转换而来
repl:表示替换的字符串
string:表示要匹配的字符串
count:可选参数,表示模式匹配后替换的最大次数,默认值为0,表示替换所有的匹配
flags:可选参数,表示标志位,用于控制匹配方式

例如,隐藏个人信息:
实现代码:

运行结果:

三.使用正则表达式分割字符串

split()方法用于实现根据正则表达式分割字符串并以列表的形式返回,语法格式如下:

re.split(pattern,string,[maxsplit],[flags])

maxsplit:可选参数,表示最大拆分次数

例如,从给定的URL地址中提取出请求地址和各个参数
实现代码:

运行结果:


希望这些对大家有所帮助,自我感觉字符串的正则表达式对于初学者还是挺难的,不过好好加油吧,越是艰难越向前つ﹏⊂

加油加油

Python入门基础篇(五)字符串的正则表达式re模块,全面解析!!!相关推荐

  1. 【目录】Python 入门基础篇 <(^-^)>

    Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...

  2. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块

    Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 文章目录 Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 前言 一.时间 ...

  3. vue实战入门基础篇五:从零开始仿门户网站实例-关于我们实现

    上一篇:vue实战入门基础篇四:从零开始仿门户网站实例-网站首页实现https://blog.csdn.net/m0_37631110/article/details/123045334 一.目录 第 ...

  4. Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!

    请认真阅读哦!!! 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容,许多地方都是用到字符串的基本操作,前面讲了列表.元组,这次就来说说字符串吧 文章目录 字符串的常用操作: 1.拼接字符串 ...

  5. Python入门基础篇(一)列表,详细实用,简单易懂!!!!

    请仔细阅读哦!!! 文章目录 前言 一.Python列表的创建与删除 1.赋值运算符直接创建列表 2.创建空列表 3.创建数值列表 4.删除列表 二.访问列表中的元素 三.遍历列表中的元素 1.直接使 ...

  6. python入门基础篇(三)序列切片,列表、元组推导式

    前面介绍了列表与元组,在这里补充一下关于列表.元组推导式,以及序列的切片.切片不仅仅用于列表元组,还可以用于字符串等等 文章目录 一.序列切片 二.列表推导式 1.根据列表生成指定需求的列表 2.生成 ...

  7. Python入门基础篇(二)元组,更适合新手哦!!!

    文章目录 前言 一.Python元组的创建与删除 1.元组的创建 2.元组的删除 二.元组的访问与修改 1.访问元组元素 2.修改元组元素 总结 前言 元组(tuple)是Python中另一种重要的序 ...

  8. Python入门-基础篇笔记02

    列表List 格式:list = ["str1", "str2", "str3"] list[0] = "str1" 添 ...

  9. 【Lua 入门基础篇(七)】表模块与包

    文章目录 一.table表 1. 表的构造 2. 表的操作 (1) concat(连接) (2) insert(插入) (3) remove(移除) (4) sort(排序) (5) maxn(最大值 ...

最新文章

  1. redis 配置文件 append only file(aof)部分---数据持久化
  2. 在xcode4中使用cocos2d 2.x很顺利的
  3. Python学完之后从业情况怎么样?
  4. 12036火车票小工具,希望大家都能顺利回家
  5. 烂泥:NFS做存储与KVM集成
  6. Kepware KEPServerEX连接Cimplicity OPC UA Server
  7. linux使用触摸屏驱动程序,Linux触摸屏驱动
  8. windows脚本编写及使用方法
  9. 谷歌浏览器JSON格式化插件
  10. java suprious wakeup_Java生产消费问题与虚假唤醒(spurious wakeup)
  11. 输出华氏温度用java_用JAVA写一个将华氏温度转换成摄氏温度的程序
  12. Circular-Circular 和 Circular-Linear Regression
  13. js输出当前星期几--switch case
  14. Devops(二):CentOS7(在线)安装Docker
  15. css_flex-grow增长系数/可用空间分配_实例
  16. 【小甲鱼C语言】课后笔记第一章第五节——取值范围
  17. 毕业到现在,工作4年,月薪9500,问:跳槽后涨薪多少合适?
  18. 对象的创建、发布、逸出
  19. bee-box虚拟机安装和bwapp键盘乱码设置
  20. 20佳用于手绘风格网页设计的字体素材

热门文章

  1. 腾讯视频手机app下载安装_腾讯视频怎么签到
  2. C++11新特性探索:原始字符串字面值(raw string literal)
  3. spring boot报FileSizeLimitExceededException异常的解决方法
  4. cookie、Session、Token、sessionStorage、localStorage简介__Token放在 cookie, sessionStorage 和 localStorage中区别
  5. @requestbody和@requestparam作用
  6. c语言中字符占用的存储单元,C语言知识点第1章.doc
  7. mysql合并多条纪录字段_mysql合并多条记录的单个字段去一条记录
  8. MySQL 优化 —— MySQL 如何使用索引
  9. MySQL日期类型的处理总结
  10. php的curl如何返回值,怎么在PHP中利用CURL获取返回值