再见,Python正则表达式!
再见,Python正则表达式!
今天,我们就尝试用一篇文章,带大家轻松入门Python正则表达式!re库
正则表达式库
,也属于Python标准库之一,不用安装就可以使用。什么是正则表达式?
正则表达式
是一组由字母和符号组成的特殊文本,可以帮助我们从某个复杂的字符串中,提取出满足我们要求的特殊文本。正则匹配的过程
。苹果相当于写的“正则表达式”,字符串相当于“水果市场”,“正则匹配的过程”就相当于拿着苹果去“水果市场”找苹果的过程,每找到一个就返回一个,否则就什么也没有。常用操作符介绍
第一,元字符; 第二,量化符; 第三,特殊符;
1. 常用元字符
“元字符”
,指的是那些不仅仅可以表示字符本身含义、并且还可以表示其他特殊含义的字符。. [ ] () ^ $ | \ ? * + { }
共11种,为了更清楚地说明每个元字符的含义,我这里整理了一张表格供大家参考。2. 常用量化符
“量化符”
,指的就是将紧挨着量化符前面的那个字符,匹配0次、1次或者多次,详细说明见下表。3. 常用特殊符
“特殊符”
,指的就是由转义字符加某些字母组合而成的具有特殊意义的特殊字符,详细说明见下表。常用方法介绍
match()
、search()
还有findall()
,下面我们分别对他们进行讲述。1. 三大函数含义对比
match(pattern,string):匹配字符串的开头,如果开头匹配不上,则返回None; seach(pattern,string):扫描整个字符串,匹配后立即返回,不在往后面匹配; findll(pattern,string):扫描整个字符串,以列表形式返回所有的匹配值;
2. 三大函数用法对比
import re
s = "黄同学喜欢唱歌,黄同学喜欢写作,黄同学喜欢吃火锅!"
s1 = "喜欢唱歌,喜欢写作,喜欢吃火锅"
① 使用match()函数
re.match("喜欢",s)
re.match("喜欢",s) == None
re.match("喜欢",s1)
re.match("喜欢",s1).group()
② 使用search()函数
re.search("喜欢",s)
re.search("喜欢",s).group()
③ 使用finall()函数
re.findall("喜欢",s)
3. 其他常用方法
split(pattern,string):按照某个匹配的正则表达式,将整个字符串切分后,以列表返回; sub(pattern,repl,string):按照某个匹配的正则表达式,将整个字符串的某个字串替换为另外一个字串; re.I:让正则表达式自动忽略大小写; re.S:让“.”能够匹配包括换行符在内的任意字符;
s = "赵1钱2孙4李8周16吴32郑64王128黄"
s1 = "Huang是huang"
s2 = "黄\n同学"
需求1:将字符串s按照数字切分,以一个汉字组成的列表返回。
re.split("\d+",s)
需求2:将字符串s中的数字部分,全都替换为空。
re.sub("\d+"," ",s)
需求3:将字符串s1中的h匹配出来,不区分大小写;
re.findall("h",s1)
re.findall("h",s1,re.I)
需求4:将字符串s2整个匹配出来,包括换行符;
re.findall(".+",s2)
re.findall(".+",s2,re.S)
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
量化: 定投基金到底能赚多少钱? | 我用Python对去年800只基金的数据分析
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
点阅读原文,领AI全套资料!
评论