Python----正则表达式

正则表达式介绍

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。简而言之就是用于匹配字符串的一种语法。在python中我们使用到re库来帮助我们操作正则表达式。

语法

完整的正则表达式由两种字符构成:特殊字符(元字符)和普通字符。
在这里插入图片描述普通字符:直接用于匹配字符串的字符
元字符:不是直接匹配,存在特殊的含义

贪婪模式与非贪婪模式

贪婪模式:"*" “+” “?” 都是贪婪,它们想尽可能更多的匹配内容
非贪婪模式:如果在正则表达式之后加"?",表示尽可能少的匹配内容

多行模式

python中默认是单行模式,多行模式的切换用re.M

匹配分组

用正则表达式匹配到的内容可进行分组选择,将需要的分组的内容用英文括号()进行分组。
当有多个分组时我们可以用(?<分组名>…)的形式给分组命名。

re模块

在python中使用re内置模块来使用正则表达式,re模块有许多函数来供我们使用。
compile(pattern[,flags]):创建正则表达式对象
match(pattern,string[,flags])
findall(pattern,string[,flags]):返回字符串中模式的所有匹配项组成的列表
split((pattern,string[,maxsplit=0]):根据模式匹配项分割字符串
sub(pattern, repl, string, count=0, flags=0):将字符串中所有pattern的匹配项用repl替换
escape(string):将字符串中所有特殊正则表达式字符进行转义
re.I:忽略大小写 re.L re.M:多行匹配模式

compile创建正则表达式对象

re库允许创建一个正则表达式对象来调用re库中的方法,可以利用compile(pattern[,flags])pattern是正则表达式,flags是一个可选参数,它的作用是忽略大小或者多行模式的切换等

import re
P = re.compile(r'',re.M)

Findall多处匹配项

findall(pattern,string[,flags]):返回字符串中模式的所有匹配项组成的列表

split切割字符串

re库中所用的切割字符串函数是re.split(pattern,string[,maxsplit=0])
pattern:匹配的正则表达式;
string:匹配的字符串;
maxsplit:分割次数。

sub字符串替换

将正则表达式所匹配到的字符串进行替换:
re.sub(pattern, repl, string, count=0, flags=0)
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值