当前位置:网站首页>打卡第 1 天:正则表达式学习总结
打卡第 1 天:正则表达式学习总结
2022-08-04 21:33:00 【抄代码抄错的小牛马】
活动地址:CSDN21天学习挑战赛
目录
前言:
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天多一天平庸的就困扰。
正则表达式描述了一种字符串匹配的模式
通过使用正则表达式,可以:
- 测试字符串内的模式。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。 - 替换文本。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 - 从字符串中提取子字符串。
可以查找文档内或输入域内特定的文本。
re库常用的功能函数
Match对象的属性:
match对象的方法:
re.match()
>>> import re
>>> result = re.match("itcast","itcast.cn")
>>> result.group()
'itcast'
不是以4 ,7结尾的手机号码(11位)
import re
tels = ["13100001234", "18912344321", "10086", "18800007777"]
for tel in tels:
ret = re.match("1\d{9}[0-35-68-9]", tel)
if ret:
print(ret.group())
else:
print("%s 不是想要的手机号" % tel)
re.search()
import re
line = "Cats are smarter than dogs"
searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I)
if searchObj:
print ("searchObj.group() : ", searchObj.group())
print ("searchObj.group(1) : ", searchObj.group(1))
print ("searchObj.group(2) : ", searchObj.group(2))
else:
print ("Nothing found!!")
re.findall()
>>> import re
>>> ret = re.findall(r"\d+", "python = 9999, c = 7890, c++ = 12345")
>>> print(ret)
['9999', '7890', '12345']
re.sub()
>>> import re
>>>
>>> phone = "2004-959-559 # 这是一个电话号码"
>>>
>>> # 删除注释
>>> num = re.sub(r'#.*$', "", phone)
>>> print ("电话号码 : ", num)
电话号码 : 2004-959-559
>>>
>>> # 移除非数字的内容
>>> num = re.sub(r'\D', "", phone)
>>> print ("电话号码 : ", num)
电话号码 : 2004959559
re.split()
以 :或 空格 切割
>>> import re
>>> ret = re.split(r":| ","info:xiaoZhang 33 shandong")
>>> print(ret)
['info', 'xiaoZhang', '33', 'shandong']
边栏推荐
- AtCoder Beginner Contest 262 D - I Hate Non-integer Number
- 数电快速入门(五)(编码器的介绍以及通用编码器74LS148和74LS147的介绍)
- ROS播包可视化
- 可视化工作流引擎开发OA系统,让企业少花冤枉钱
- buu web
- 3. Byte stream and character stream of IO stream
- 立即升级!WPS Office 出现 0day 高危安全漏洞:可完全接管系统,官方推出紧急更新
- LayaBox---知识点
- 【SQL之降龙十八掌】01——亢龙有悔:入门10题
- 路由中的meta、params传参的一些问题(可传不可传,为空,搭配,点击传递多次参数报错)
猜你喜欢
数电快速入门(二)(复合逻辑运算和逻辑代数的基本定律的介绍)
Altium Designer 19.1.18 - 保护锁定的对象
Axure9基本交互操作(一)
How to understand the crawler's Scrapy framework in the simplest and most popular way?
【线性代数02】AX=b的2种解释和矩阵乘法的5种视角
Hands-on Deep Learning_NiN
OD-Model【6】:YOLOv2
In action: 10 ways to implement delayed tasks, with code!
大势所趋之下的nft拍卖,未来艺术品的新赋能
【SQL之降龙十八掌】01——亢龙有悔:入门10题
随机推荐
传奇服务器需要什么配置?传奇服务器租用价格表
Altium Designer 19.1.18 - 保护锁定的对象
Unknown point cloud structure file conversion requirements
"Jianzhi offer" brush title classification
多个平台显示IP属地,必须大力推行互联网实名制
开发deepstram的自定义插件,使用gst-dseaxmple插件进行扩充,实现deepstream图像输出前的预处理,实现图像自定义绘制图(精四)
LayaBox---知识点
立方度量(Cubic Metric)
LayaBox---TypeScript---结构
visual studio 2015 warning MSB3246
【uiautomation】微信好友列表获取(存储到txt中)
七夕,当爱神丘比特遇上牛郎和织女
Win11如何设置软件快捷方式?
Hands-on Deep Learning_NiN
unity2D横版游戏教程9-对话框dialog
Is the International Project Manager PMP certificate worth taking?
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning Code Analysis
信创是什么意思?涉及哪些行业?为什么要发展信创?
Dotnet using WMI software acquisition system installation
NFT宝典:你需要知道NFT的术语和定义