华为架构师详解Python 正则表达式
2021/11/4 17:14:15
本文主要是介绍华为架构师详解Python 正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
正则表达式
用来处理字符串,对字符串进行检索和替换,另外正则在python爬虫的应用也是相当广泛!
特点
- 灵活性、逻辑性和功能性非常强
- 可以迅速地用极简单的方式达到字符串的复杂控制
- 有需要相关python资料的小伙伴可以加我vx:ssmp8858欢迎来骚扰我
正则的写法
- .(点号): 表示任意一个字符,除了\n,比如查找所有的一个字符 .
- []: 匹配中括号中列举的任意字符,比如[L,Y,0], LLY, Y0, LIU
- \d: 任意一个数字
- \D: 除了数字都可以
- \s: 表示空格,tab键
- \S: 除了空白符号
- \w: 单词字符,就是a-z, A-Z, 0-9, _
- \W: 除了“\w”表示的都可以
- : 表示前面内容重复零次或者多次, \w
- +: 表示前面内容至少出现一次
- ?: 前面才出现的内容零次或者一次
- {m,n}: 允许前面内容出现最少m次,最多n次
- ^: 匹配字符串的开始
- $: 匹配字符串的结尾
- \b: 匹配单词的边界
- (): 对正则表达式内容进行分组,从第一个括号开始,编号逐渐增大
- \A: 只匹配字符串开头,\Aabcd, 则abcd
- \Z: 只匹配字符串末尾,abcd\Z, abcd
- |: 左右任意一个
- (?P...): 分组,除了原来的编号再制定一个别名,(?P12345){2}, 1234512345
- (?P=name): 引用分组
RE使用大致步骤
- 使用compile将表示正则的字符串编译为一个pattern对象
- 通过pattern对象提供一系列方法度文本进行查找匹配,获得匹配结果,一个Match对象
- 最后使用Match对象提供的属性和方法获得信息,根据需要进行操作
RE常用函数
- group(): 获得一个或者多个分组匹配的字符串,当要获得整个匹配的子串时,直接使用group或者group(0)
- start: 获取分组匹配的子串在整个字符串中的起始位置,参数默认0
- end: 获取分组匹配的子串在整个字符串中的结束位置,默认为0
- span: 返回的结构技术(start(group), end(group))
- search(str, [, pos[, endpos]]): 在字符串中查找匹配,pos和endpos表示起始位置
- findall: 查找所有
- finditer:查找,返回一个iter结果
sub 替换
- sub(rep1, str[, count])
匹配中文
- 大部分中文表示范围是[u4e00-u9fa5], 不包括全角标点
贪婪和非贪婪
- 贪婪:尽可能多的匹配, (*)表示贪婪匹配
- 非贪婪:找到符合条件的最小内容即可,(?)表示非贪婪
- 正则默认使用贪婪匹配
通晓任何一门编程语言,都需求通过大量的实践来积累经验,解决遇到的各种疑难问题,看别人的源码,分享自己的分码的这个进程,才能够通晓Python的方方面面。一个对Python程序能算的上通晓的程序员,对相同一个问题,他知道很多种解决问题的方法,并能从中挑选最有功率的方法!安排python超全资料库安装包学习路线项目源码免费分享
这篇关于华为架构师详解Python 正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30Python中''') 是什么?-icode9专业技术文章分享
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程