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

本文介绍了如何在Python中使用re模块进行字符串的匹配,包括match(), search()和findall()方法的应用,以及如何替换字符串和使用正则表达式分割。通过实例演示,帮助读者掌握正则表达式的基础操作。
摘要由CSDN通过智能技术生成


前言

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地址中提取出请求地址和各个参数
实现代码:
在这里插入图片描述
运行结果:
在这里插入图片描述


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






加油加油
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值