Python中的RE模块详细介绍

本文介绍了Python正则表达式(RE)模块的基础概念,包括findall、finditer、search、match、compile等内置函数的用法。通过实例演示了如何使用这些函数进行文本匹配和分组,并提到了特殊别名p<>。适合初学者理解正则表达式在验证和搜索中的应用。

一、RE模块介绍

	正则表达式(Regluar Expressions)简称规则表达式
	主要作用用于 创建一个"规则表达式"	用于验证和查找符合规则的文本
	广泛用于各种搜索引擎、账户密码的验证等

二、RE内置函数

findall扫描整个目标文本,返回所有与规则匹配的子串组成的列表,如果没有匹配的返回空列表
finditer扫描整个目标文本,返回所有与规则匹配的子串组成的迭代器
search通过正则表达式匹配到一个符合条件的内容就结束
match在目标文本的开头进行匹配 如果头部不符合则结束
compilecompile能够提前准备好正则 之后可以反复使用 减少代码冗余
( )分组 findall针对分组的正则表达式匹配到的结果 优先展示
?p < >别名 可以通过别名索引到相对应的数据值

1.findall

		import re
		res = re.findall('a', 'jason oscar aaa')
		print(res)		# 筛选出符合条件的数据

		result: ['a', 'a', 'a', 'a', 'a']

2.finditer

		import re
		res = re.finditer('a', 'jason oscar aaa')
		print(res)		# 筛选出符合条件的数据转换为迭代器对象

		result: <callable_iterator object at 0x7f88d001d520>

3.search

		import re
		res = re.search('a', 'jason oscar aaa')
		print(res)		# 匹配到一个符合条件的内容就结束匹配
		print(res.group())
		
		result:	<re.Match object; span=(1, 2), match='a'>	a

4.match

		import re
		res = re.match('a', 'jason oscar aaa')
		print(res)		# 匹配开头第一个 如果不匹配则结束
		
		result: None

5.compile

		import re
		obj = re.compile('a')
		print(re.findall(obj,'asjd21hj13123j'))
		print(re.findall(obj,'fdh3jh45jhqjha'))
		print(re.findall(obj,'asdasdadadasda'))
					# 提前准备好一个正则 反复使用匹配新的内容
		reulst:['a']	['a']	['a', 'a', 'a', 'a', 'a', 'a']

6.( )分组

		import re
		res = re.findall('a(b)c','abcabcabcabc')
		print(res)		# 分组匹配到的结果优先展示
	
		result: ['b', 'b', 'b', 'b']

		res = re.findall('a(?:b)c','abcabcabcabc')
		print(res)		# 可以优先展示 也可以取消优先展示

		result:['abc', 'abc', 'abc', 'abc']

7.?p < >别名

		import re
	 	res = re.search('a(?P<id>b)(?P<name>c)','abcabcabcabc')
	    print(res.group())		# 可以去一个名称 代替索引值
	    print(res.group(1))
	    print(res.group('id'))
	    print(res.group('name'))

		result: abc b b c

本文仅讲了re模块的个人理解,技术小白记录学习过程,有错误或不解的地方请指出,如果这篇文章对你有所帮助请点赞收藏+关注 谢谢支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LoisMay

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

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

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

打赏作者

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

抵扣说明:

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

余额充值