Python正则表达式
2022/1/25 22:34:23
本文主要是介绍Python正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
什么是正则表达式?
正则表达式
是一组由字母和符号组成的特殊文本,可以帮助我们从某个复杂的字符串中,提取出满足我们要求的特殊文本。
用一个形象的比喻大致体会一下正则匹配的过程
。苹果相当于写的“正则表达式”,字符串相当于“水果市场”,“正则匹配的过程”就相当于拿着苹果去“水果市场”找苹果的过程,每找到一个就返回一个,否则就什么也没有。
为什么要使用正则表达式?
接下来,我们看一个实例,找出所有的薪资数字:
content = ''' Python3高级开发工程师上海互教教育科技有限公司上海-浦东新区2万/月02-18满员 测试开发工程师(C++/python)上海墨鹖数码科技有限公司上海-浦东新区2.5万/每月02-18未满员 Python3高级开发工程师上海互教教育科技有限公司上海-浦东新区2万/月02-18满员测试开发工程师(C++/python)上海墨鹖数码科技有限公司上海-浦东新区2.5万/每月02 -18未满员 Python3开发工程师上海德拓信息技术股份有限公司上海-徐汇区1.3万/每月02-18剩余11人 测试开发工程师(Python)赫里普(上海)信息科技有限公司上海-浦东新区1.1万/每月e2-18剩余5人Python高级开发工程师上海行动教育科技股份有限公司上海-闵行区2.8万/月02-18剩余255人 python开发工程师上海优似腾软件开发有限公司上海-浦东新区2.5万/每月02-18满员 ''' #将文本内容按行放入列表 lines = content.splitlines() for line in lines: pos2 = line.find('万/月') #查找 万/月 在字符串中什么地方 if pos2< 0: pos2 = line.find('万/每月') #查找 万/每月 在字符串中什么地方 if pos2 <0:#都找不到 continue #跳过执行下一步 #执行到这里,说明可以找到薪资的关键字 #接下来分析 薪资 数字的起始位置 #方法事找到 pos2 前面薪资数字的位置 idx = pos2 -1 #只要事数字或者小数点,就继续往前面找 while line[idx].isdigit() or line[idx]=='.': idx -= 1 # 现在 idx 指向 薪资数字前面的那个字 # 所以薪资开始的 索引 就是 idx+1 pos1 = idx + 1 print(line[pos1:pos2])
运行一下,是完全可以的,就是还挺麻烦的,是不是?接下来我们来看下用上正则表达式后会是怎么样:
content = ''' Python3高级开发工程师上海互教教育科技有限公司上海-浦东新区2万/月02-18满员 测试开发工程师(C++/python)上海墨鹖数码科技有限公司上海-浦东新区2.5万/每月02-18未满员 Python3高级开发工程师上海互教教育科技有限公司上海-浦东新区2万/月02-18满员测试开发工程师(C++/python)上海墨鹖数码科技有限公司上海-浦东新区2.5万/每月02 -18未满员 Python3开发工程师上海德拓信息技术股份有限公司上海-徐汇区1.3万/每月02-18剩余11人 测试开发工程师(Python)赫里普(上海)信息科技有限公司上海-浦东新区1.1万/每月e2-18剩余5人Python高级开发工程师上海行动教育科技股份有限公司上海-闵行区2.8万/月02-18剩余255人 python开发工程师上海优似腾软件开发有限公司上海-浦东新区2.5万/每月02-18满员 ''' import re p = re.compile(r'([\d.]+)万/每{0,1}月') #([\d.]+)万/每{0,1}月 正则表达式的语法 for one in p.findall(content): print(one) #结果 2 2.5 2 2.5 1.3 1.1 2.8 2.5
在线验证表达式是否能正确匹配到搜索的字符串:https://regex101.com/
这篇关于Python正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享