正则匹配第一个符合的_这份正则表达式速查表,实力与颜值并存!

ad0049b3dad3985c425907fecb6df027.png

作者| GitPython

来源| GitPython

字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求无处不在。 正则表达式是一种匹配字符串的强有力的武器。 它的设计思想是用一种描述性的语言来给字符串定义一个规则。凡是符合规则的字符串,我们就认为它匹配了;否则该字符串就是不合法的。 re 模块,使 Python 语言拥有全部的正则表达式功能。 本文主要包括以下内容: 1.一图总结正则表达式的核心知识点 2.正则表达式的案例实战 3.文章汇总 1.一图学会正则表达式 1)基础字符 2)匹配单个字符 3)匹配多个字符 4)具体的实例 5)贪婪匹配和非贪婪匹配 6)re模块的几个函数 e4ac271066fc930832a99fb894d10f80.png 长按图片,快捷保存 2.正则表达式的案例实战 1)re模块的基本使用
import reret = re.match('复仇者联盟\d','复仇者联盟5')ret.group()#输出结果:'复仇者联盟5'
2)贪婪匹配和非贪婪匹配
# 非贪婪匹配 (匹配最短的 以a开头以b结尾 的字符串)ret_ft = re.match('a.*?b', 'aabab') # 贪婪匹配ret_t = re.match('a.*b', 'aabab') 
print(ret_ft.group(), ret_t.group())# aab aabab
3)案例1:判断变量名是否合法 变量名的命名规范: - 变量名只有由数字、字母、下划线组成。 - 变量名开头不能是数字。
# 案例1# 判断变量名是否合法names = ['age_1', '1age_', 'age-1', '/age', 'get_ipython']for name in names:    ret3 = re.match('^[a-zA-Z_][a-zA-Z0-9_]*$', name)    if ret3:        print('{}:符合规范,匹配结果:{}'.format(name, ret3.group()))    else:        print('{}:不符合规范'.format(name))# age_1:符合规范,匹配结果:age_1# 1age_:不符合规范# age-1:不符合规范# /age:不符合规范# get_ipython:符合规范,匹配结果:get_ipython
4)案例2:匹配邮箱账号 满足以下两条: - 邮箱的用户名为4-20位数字 - 可以是163或者126邮箱
# 案例2# 匹配163或者126邮箱,用户为4-20位数字email = input('请输入邮箱:')ret4 = re.match('^\d{4,20}@163\.com$|^\d{4,20}@126\.com$', email)print(email, ret4.group())# 请输入邮箱:123456@126.com# 123456@126.com 123456@126.com
5)re模块的进阶函数 re.search()  - 和re.match()函数对比,不必从字符串开始匹配 - 扫描整个字符串并返回第一个成功的匹配
# re的高级用法,只适用于python# 1、search# 和match对比,不必从字符串开始匹配# 扫描整个字符串并返回第一个成功的匹配ret5 = re.search('\d+', 'python=1234,c=2345,c++=3456')ret5.group()'1234'
re.findall()  - 扫描整个字符串并返回第一个列表
# 2、findall# 扫描整个字符串并返回一个列表ret5 = re.findall('\d+', 'python=1234,c=2345,c++=3456')ret5['1234', '2345', '3456']
re.split()  - 分割字符串,返回一个列表
# 3、split# 分割字符串,并返回列表ret6 = re.split(':| ', 'info:python 33 shanghai')ret6['info', 'python', '33', 'shanghai']
3.我是总结 我把文章中的一些重要的内容,总结在了下面的一张图里,方便大家保存、查阅。 7e439d249ccce35f57333d94582201dc.png 4.源码地址 后台回复正则表达式 获取所有源文件(PPT可编辑表格/Jupyter Notebook源代码) 往期精彩回顾 1.写给想零基础入门Python的小伙伴 2.90后的你,Q龄几年了? 3.我们的青春,全在周董19年的歌词里了。

2eee08afc185af8fa059078950c75140.png

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值