当前位置:网站首页>打卡第 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']
边栏推荐
猜你喜欢

C language knowledge (1) - overview of C language, data types

Ramnit感染型病毒分析与处置
![[2022 Nioke Duo School 5 A Question Don't Starve] DP](/img/fa/f1d11297cc5f58919bcc579f0a82e9.png)
[2022 Nioke Duo School 5 A Question Don't Starve] DP

【SQL之降龙十八掌】01——亢龙有悔:入门10题

立即升级!WPS Office 出现 0day 高危安全漏洞:可完全接管系统,官方推出紧急更新

PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning Code Analysis

【线性代数02】AX=b的2种解释和矩阵乘法的5种视角

Domestic PMP certificate of gold content how
![[2022 Hangzhou Electric Power Multi-School 5 1012 Questions Buy Figurines] Application of STL](/img/fe/1dd9418800366ee25067e154936e3b.png)
[2022 Hangzhou Electric Power Multi-School 5 1012 Questions Buy Figurines] Application of STL

2022年江苏省大学生电子设计竞赛(TI杯)B题 飞机 省级一等奖记录 “一个摆烂人的独白”
随机推荐
Develop your own text recognition application with Tesseract
热力学相关的两个定律
[2022 Hangzhou Electric Multi-School 5 1003 Slipper] Multiple Super Source Points + Shortest Path
SPSS-unary regression practice
数电快速入门(三)(卡诺图化简法的介绍)
LayaBox---knowledge point
[larave]关于laravel使用form submit()不能获取值问题
STM32MP157A驱动开发 | 01- 板载LED作为系统心跳指示灯
【uiautomation】微信好友列表获取(存储到txt中)
开发deepstram的自定义插件,使用gst-dseaxmple插件进行扩充,实现deepstream图像输出前的预处理,实现图像自定义绘制图(精四)
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 代码解析
2022年江苏省大学生电子设计竞赛(TI杯)B题 飞机 省级一等奖记录 “一个摆烂人的独白”
Codeforces Round #811 (Div. 3)
可视化工作流引擎开发OA系统,让企业少花冤枉钱
数电快速入门(四)(组合逻辑电路的分析以及设计的介绍)
Unknown point cloud structure file conversion requirements
How to solve the problem that the alarm information cannot be transmitted after EasyGBS is connected to the latest version of Hikvision camera?
js data type, throttling/anti-shake, click event delegation optimization, transition animation
[2022 Nioke Duo School 5 A Question Don't Starve] DP
ROS播包可视化