数据处理(1.1)-python 正则表达式通俗易懂讲解

写一些数据结构时,发现有些地方光靠代码逻辑写有点费劲,还是回来复习一下正则表达式,写文章加深一下理解

学习参考:

报名参加了 极客时间(正则入门),以此做一下学习笔记

应用场景示例:

正则表达式实现模式匹配

一、正则功能

校验数据有效性

  手机号,邮箱等限定格式

查找符合要求的文本内容

对文本切割替换等操作

 

二、元字符

元字符指正则表达式中特殊用途的字符

分类

1. 特殊单字符

在匹配数字的时候,可以写成  \d{11} 匹配 11 位数字。其他也相同

 

2. 空白符

空白符主要表示 换行 \n ,制表符 \t 等

其中,在正则中,空格用英文的空格表示

3. 量词

量词用于衡量字符的出现次数

这个地方教材说的有点模糊,但经过我尝试

\d{10}  :只匹配出现了十位数字的数字组合

这个数字代表了匹配的对应数字位数

还有比如英文单词,颜色 color 与 colour ,若我们想都匹配成功

可以设定为 colou?r

?表示前一个字符可有可无

4. 范围

假如我们想匹配手机号,首先是 11 位数字,但还有一些不是手机号的 11 位数字如何过滤呢?

就可以通过设定范围来找到更合适的内容

第一个 | 表示 或,符合两边的一个即可

第二个 【aei】,这样就表示匹配 a e i 这三个元素

第二个表示一个数字或字母范围,可以加 ^ 表示 非

还有就是网站的话 ,有 https 或者 http ,就可以用 https? 来把两个都匹配了

 

5. 总结

题目:

更严谨的匹配手机号

1. 第一位固定为 1 

2. 第二位可能为 3 ,4 ,5 ,6 ,7 ,8 ,9

3. 第三位到 11 位可能为 0-9

 

答案:

r"1[3-9]\d{9}"

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值