python笔记:正则表达式

1 正则表达式

带?的都是非贪婪匹配,匹配的越少越好

贪婪模式:尽可能匹配得长一些;非贪婪模式:尽可能匹配得短一些

1.1 正则表达式中的转义符

注:\w还包含_

大写的字母一般是”不“的意思

字符串开头和结尾一个A一个z正好是26个字母的开始和结尾

2 正则表达式相关函数(re包)

re.match(pattern,string)

从字符串的起始位置匹配一个模式(返回的是match对象),如果不是起始位置匹配成功的话,返回none

pattern——需要匹配的正则表达式

string——需要匹配的字符串

search(pattern,string)

扫描整个字符串并返回第一个成功的匹配。

pattern——需要匹配的正则表达式

string——需要匹配的字符串

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

compile

用于编译正则表达式,生成一个正则表达式( Pattern )对象.

直接使用这个正则表达式对象进行 match() 和 search() 这两个函数。

匹配到的内容可以直接使用这边说的函数

sub

用于替换字符串中的匹配项

repl也可以是一个函数

split

将一个字符串按照正则表达式的匹配结果进行分割,返回列表类型

findall

以列表的形式返回能匹配的子串

需要匹配的内容是连续的五个非数字的子串

finditer

搜索string,返回一个迭代器,每个迭代器中的元素是match对象

3 分组 

如果正则表达式中定义了组,就可以在Match对象上用group()方法提取出子串来。

注意到group(0)永远是原始字符串,group(1)group(2)……表示第1、2、……个子串。(多个分组按照左括号从左到右从1开始编号)

       如果我们分的组过多,记不住是第几个了。那么我们可以在每一组需要匹配的pattern前面加上" ?P<…> ",之后就可以用<>里面的东西进行索引了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值