当前位置:网站首页>打卡第 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']
边栏推荐
- PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 代码解析
- Unknown point cloud structure file conversion requirements
- Domestic PMP certificate of gold content how
- 驱动点云格式修改带来的效率提升
- 基于 Milvus 和 ResNet50 的图像搜索(部署及应用)
- STM32MP157A驱动开发 | 01- 板载LED作为系统心跳指示灯
- 立方度量(Cubic Metric)
- SPSS-unary regression practice
- LayaBox---TypeScript---举例
- dotnet compress Stream or file using lz4net
猜你喜欢
随机推荐
[Teach you to use the serial port idle interrupt of the STM32HAL library]
Go----Go 语言基础之标识符、关键字、命名规范、变量、常量
AI/ML无线通信
【分布式】分布式ID生成策略
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 代码解析
AXI interface application of Zynq Fpga image processing - the use of axi_lite interface
mysql基础
动手学深度学习_NiN
命名路由、组件中name的作用
8 年产品经验,我总结了这些持续高效研发实践经验 · 协同篇
【PCBA方案设计】握力计方案
【CC3200AI 实验教程 1】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-开发环境搭建
经验分享|盘点企业进行知识管理时的困惑类型
PowerCLi 导入License到vCenter 7
【uiautomation】微信好友列表获取(存储到txt中)
LayaBox---TypeScript---首次接触遇到的问题
[2022 Hangzhou Electric Power Multi-School 5 1012 Questions Buy Figurines] Application of STL
立方度量(Cubic Metric)
热力学相关的两个定律
Red team kill-free development practice of simulated confrontation









