1 前言
正则表达式是处理字符串(包括普通字符(例如,介于a和z之间的字符和特殊字符) )的逻辑表达式,预定义的特定字符及其组合构成了表示字符串过滤逻辑的“规则字符串”。 正则表达式是在搜索文本时描述匹配字符串的文本模式。
以上是官方的说明,但在博主自己的理解中,他认为“事先制定特殊字符的匹配规则,然后将这些字符组合起来匹配各种复杂的字符串场景”。 例如,现在的爬行动物、数据分析、字符串检查等都需要使用正则表达式来处理数据。
python的正则表达式是re模块。
re模块使Python语言具有所有正则表达式功能。
re模块还提供了与这些方法的功能完全一致的函数。 这些函数使用模式字符串作为第一个参数。
2 基本语法
2.1 match函数
只要从字符串的开头开始就与pattern匹配,函数的语法为:
re.match(pattern,string,flags=0) )。
这里是参数的说明:
p attern -这是匹配的正则表达式。 string -这是一个字符串,用于查找与字符串开头匹配的模式。 flags -可以按位或|指定不同的标志。 这些是修饰符,如下表所示。 re.match函数如果成功则返回匹配对象,如果失败则返回None。 使用match(num )或groups函数匹配对象以获取匹配的表达式。
示例
#不与初始位置匹配,返回noneimportreline=“icanspeakgoodenglish”match obj=re.match (r’s (w * ) s (w * ) )、line ) ifmatch ) matchobj.group )1) ) print )、matchobj.group:和matchobj.matchobj )。 )
# importr eline=‘icanspeakgoodenglish’match obj=re.match (r ) I ) s(w* ) s(w* )、line ) ifmatchobj )和初始位置匹配matchobj.group )1) ) print )、matchobj.group:和matchobj.matchobj )。 )
2.2 search 函数
它的工作方式与match相同,但search会从任意位置首先查找匹配项,而不是从一开始就匹配项。 此函数的语法如下:
re.match(pattern,string,flags=0) )。
这里是参数的说明:
pattern -这是匹配的正则表达式。 string -这是一个字符串,用于查找与字符串开头匹配的模式。 flags -可以按位或|指定不同的标志。 这些是修饰符,如下表所示。 如果成功,re.search函数返回匹配对象,否则返回None。 使用match对象的group(num )或groups函数获取匹配表达式。 最后,如果你的时间不太紧张,又想快速提高python,最重要的是不怕辛苦,建议你发个框架微信: 762459510。 那真的很好。 很多人进步很快,需要不怕辛苦哦。 请大家一起追加看看~
示例
importr eline=‘icanspeakgoodenglish’match obj=re.search () ) . ()、line ) ifmatchobj : print (match obj.group : )、match obj.group (match obj.group ) print (match obj.group )、match obj matchobj.group matchobj.group(2) ) print )、‘match obj.group :’、matchobj.group)、else:print )、‘NNT )
2.3 sub 函数
使用正则表达式的re模块中最重要的一个是sub。
re.sub(pattern,repl,string,max=0) )。
此方法将使用REpl替换re模式下显示的所有字符串,并替换所有出现,除非指定max。 此方法返回修改后的字符串。
示例
importr eline=‘icanspeakgoodenglish’speak=re.sub (r’can’,‘not’,line ) print ) speak ) speak1=re.sub ) r
3 特殊类语法
3.1 字符类
3.2 特殊字符类
3.3 重复匹配
3.4 非贪婪重复
这与最小的重复次数一致。
3.5 圆括号分组
3.6 反向引用
再次与以前匹配的组匹配
3.7 锚点
必须指定匹配的位置。
3.8 带括号的特殊语法
如何接收python福利教程:
1、称赞评论(勾选“同时转发”) )。
2、关注主编。 然后用私信回复关键词【19】
(必须私信哦(点击我的头像可以看到私信按钮) )。