分享

这份正则表达式速查表,实力与颜值并存!

 liqualife 2019-09-19
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求无处不在。
正则表达式是一种匹配字符串的强有力的武器。
它的设计思想是用一种描述性的语言来给字符串定义一个规则。凡是符合规则的字符串,我们就认为它匹配了;否则该字符串就是不合法的。
re 模块,使 Python 语言拥有全部的正则表达式功能。
本文主要包括以下内容:
1.一图总结正则表达式的核心知识点
2.正则表达式的案例实战
3.文章汇总

1.一图学会正则表达式
1)基础字符
2)匹配单个字符
3)匹配多个字符
4)具体的实例
5)贪婪匹配和非贪婪匹配
6)re模块的几个函数
长按图片,快捷保存

2.正则表达式的案例实战
1)re模块的基本使用
import re

ret = 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邮箱

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多