二十六、Python--正则表达式(上)
0.什么是正则表达式描述了一种字符串匹配的模式,对符合某种规律的字符串的匹配和验证
目录
0.关于正则表达式
0.1 什么是正则表达式
描述了一种字符串匹配的模式,对符合某种规律的字符串的匹配和验证
0.2 正则表达式的使用场景
数据挖掘:
从一大堆文本中查找小文本,如ip、email...
验证:
验证指定文本的格式是否正确,如邮箱格式...
#当有简单的方法时,可以不使用正则表达式
0.3 正则的目的
指定一个匹配规则,从而识别该规则是否在一个更大的文本字符串中
将一个规则分别一个或多个子规则,并展示每个子规则匹配的文本
0.4 正则的优缺点
优点:提高工作效率,提高代码的简洁性
缺点:难以理解,上手难
1.re模块基本用法
从文本中匹配某些子串
1.1 search
接受一个正则表达式和字符串,并返回发现的第一个匹配
如果完全没有找到匹配,re.search返回None
1.2 match
定义
接受一个正则表达式和字符串,从主串第一个字符开始匹配,并返回发现的第一个匹配
如果字符串开始不符合正则表达式,则匹配失败,re.match返回None
match.group(default=0)
group是由于正则表达式可以分拆为多个只调出匹配子集的子组
0是默认参数,表示匹配的整个串,n 表示第n个分组
match.start()和match.end() 返回原始字符串开始和结束的索引
match.groups()
groups返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
1.3 raw
原始字符串与正常字符串的区别是原始字符串不会将\字符解释成一个转义字符
#运行此语句,python解释器会转义一次,正则表达式内部还会转义一次,使用"r"获取原始字符串
1.4 findall

1.5 finditer
1.6 sub
将string中匹配的内容替换为新内容
re.sub('匹配正则','替换内容','string')
1.7 compile

#其实并没有什么卵用
2.基本正则匹配
1.1 区间 []
2.2 或 |
2.3 取反 ^
2.4 任意字符 .

2.5 快捷方式
# \A 匹配字符串开始 # \b 词边界 --》只看单词字符不看特殊字符 # \B 两边都不是单词边界 # \w 匹配包括下划线的任意单词字符,等价于'[A-Za-z0-9_]' # \W 匹配任何非单词字符,等价于'[^A-Za-z0-9_]' # \d 匹配一个数字字符,等价于'[0-9]' # \D 匹配一个非数字字符,等价于'[^0-9]' # \s 匹配任意一个空白字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v] # \S 匹配任何非空白字符,等价于[^\f\n\r\t\v]
2.6 开始与结束 ^, $

结束
3.正则重复
3.1 ?表示匹配前一项0次或者1次

3.2 +表示匹配前一项至少1次
3.3 *表示匹配前一项任意次
3.4 {n,m}表示匹配n到m次 --》最长匹配
3.5 贪婪匹配和非贪婪匹配


GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)