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

Posted 顶级程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这份正则表达式速查表,实力与颜值并存!相关的知识,希望对你有一定的参考价值。

源 / GitPython    作者 / GitPython

字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求无处不在。

正则表达式是一种匹配字符串的强有力的武器。

它的设计思想是用一种描述性的语言来给字符串定义一个规则。凡是符合规则的字符串,我们就认为它匹配了;否则该字符串就是不合法的。

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

  
    
    
  
# 案例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']
链接: https://pan.baidu.com/s/1GlkZt8tfAJcjiY1Bh3FtsQ
提取码: 6n9a

-END-

全新打卡学习模式
每天30分钟
21天学会Python编程

世界正在奖励坚持学习的人!

以上是关于这份正则表达式速查表,实力与颜值并存!的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式速查表

正则表达式速查表

正则表达式速查表

常用正则表达式速查表

常用正则表达式速查表

如果有人问你 SQL 注入的资料,请叫他看这份速查表