一、RE模块介绍
正则表达式(Regluar Expressions)简称规则表达式
主要作用用于 创建一个"规则表达式" 用于验证和查找符合规则的文本
广泛用于各种搜索引擎、账户密码的验证等
二、RE内置函数
| findall | 扫描整个目标文本,返回所有与规则匹配的子串组成的列表,如果没有匹配的返回空列表 |
|---|---|
| finditer | 扫描整个目标文本,返回所有与规则匹配的子串组成的迭代器 |
| search | 通过正则表达式匹配到一个符合条件的内容就结束 |
| match | 在目标文本的开头进行匹配 如果头部不符合则结束 |
| compile | compile能够提前准备好正则 之后可以反复使用 减少代码冗余 |
| ( ) | 分组 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模块的个人理解,技术小白记录学习过程,有错误或不解的地方请指出,如果这篇文章对你有所帮助请
点赞收藏+关注谢谢支持!
本文介绍了Python正则表达式(RE)模块的基础概念,包括findall、finditer、search、match、compile等内置函数的用法。通过实例演示了如何使用这些函数进行文本匹配和分组,并提到了特殊别名p<>。适合初学者理解正则表达式在验证和搜索中的应用。


被折叠的 条评论
为什么被折叠?



