Python教程之正则表达式(提高篇),从零开始学数据结构和算法

本文介绍了Python中正则表达式的使用,包括使用`re`模块的`search()`和`findall()`方法匹配文本内容。`search()`找到第一个匹配项,而`findall()`返回所有匹配项的列表。此外,通过`[abcd3]`定义字符类别进行特定字符匹配,并使用`re.IGNORECASE`忽略大小写进行匹配。文章通过实例代码展示了这些功能的实际运用。
摘要由CSDN通过智能技术生成

| \S | 除空格、制表符、换行符以外的任何字符 |

同时在正则表达式的使用过程中,re模块中还有另外一种读取文本匹配内容的方法:findall()方法。

该方法与我们之前所讲的group()方法不同,re模块中的group()方法只能匹配文本中的第一个符合要求的匹配对象,而findall()方法则匹配文本中所有符合要求的内容。

并且以列表的形式返回所有符合要求的匹配。对比实现效果代码如下:

search()和findall()方法比较


import re



charRegex = re.compile(r'\d\d\d-\d\d\d\d-\d\d\d\d')



text = 'the tel is 123-4567-8910 and 456-7891-1234 and 789-1234-5678'



mo = charRegex.search(text)



print('search()方法的匹配结果:')



print(mo.group())



print('findall()方法的匹配结果:')



print(charRegex.findall(text)) 

在这里插入图片描述

.

建立自己的字符分类


在使用正则表达式的时候我们通常会需要使用这些匹配字符以外的东西,如我们特定匹配某一个字母或数字。

因此在Python的re模块中设定,在建立正则表达式的时候可以使用‘[]’中括号来特定设定要匹配的字符,这样在匹配文本的时候,就会特定匹配中括号里面的内容,效果代码如下:

建立自己的字符匹配


import re



charRegex = re.compile(r'[abcd3]')



text = 'the tel is 456-7891-1234 and 789-1234-5678'



print(charRegex.findall(text)) 

在这里插入图片描述

.

不区分大小写的匹配


在使用正则表达式进行匹配的时候,我们可能往往会因为大小写字母的匹配而感到烦恼。

那么在re模块中就具备了不区分大小写的匹配设定,在正则表达式的设定过程中,使用re.IGNORECASE(简写为re.I)方法来消除大小写的匹配。

效果代码如下;

re.I方法不区分大小写匹配


import re



charRegex = re.compile(r'[abcde]', re.I)



text = 'Regex AND compile'



print(charRegex.findall(text)) 

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以戳这里免费领取

在这里插入图片描述

最新整理电子书

整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以戳这里免费领取

[外链图片转存中…(img-oFycEhBJ-1628587322607)]

最新整理电子书

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值