python正则学习

python 正则

之前学过正则,久不用忘记了,没有笔记,现在重新学习一遍

学习
## search:只查询一次,直到出现第一个匹配
## 匹配a或c
import re
print(re.search('[ac]','acd').group())
## 输出: a
## 匹配ac
import re
print(re.search('ac','acd').group())
## 输出: ac
## 以a或c作为开头匹配
import re
print(re.search('^[ac]','acd').group())
## 输出: a
print(re.search('^[ac]','bacd').group())
## 返回null,group报错
## 除了以a,c作为匹配,其他字符都可以
import re
print(re.search('[^ac]','cbad').group())
## 输出: b
print(re.search('[^ac]','ca2d').group())
## 输出: 2
## findall:返回数列,查询所有能够匹配的字符
## 查询除a-z以外的字符
import re
print(re.findall('[^a-z]','ah12d$'))
## 输出: ['1', '2', '$']
## 匹配结尾为a-z的字符
import re
print(re.search('[a-z]$','a12b3e').group())
## 输出: e
print(re.search('[a-z]$','a12b3').group())
## 返回null,group报错
## 返回以a-z和A-Z连续3个字母匹配成功的字符串
import re
print(re.search('[a-zA-Z]{3}','a3bc4def').group())
## 输出: def
实例
## 匹配手机号
import re
print(re.search('1[3-8][0-9]{9}','188261236789'))
## 匹配成功,但是号码是12位,不太准确,以上是包含关系
print(re.search('^1[3-8][0-9]{9}$','188261236789'))
## 匹配失败,要以1开头,以9个号码结尾
print(re.search('^1[3-8][0-9]{9}$','18826123678'))
## 匹配成功
## 匹配qq号
import re
print(re.search('[1-9]\d{4,9}','79339045668'))
## 11位号码匹配了10位
## 输出:<_sre.SRE_Match object; span=(0, 10), match='7933904566'>
print(re.search('[1-9]\d{4,9}$','79339045668'))
## 11位号码匹配了后10位
## 输出:<_sre.SRE_Match object; span=(1, 11), match='9339045668'>
print(re.search('^[1-9]\d{4,9}$','79339045668'))
## 匹配失败
## 输出:None
学习

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值