01
re模块
一、re是正则匹配
import re

1、正则表达式式一种对字符和特殊字符操作的一种逻辑公式,从特定的字符中,用正则表达字符来过滤的逻辑;
2、正则表达式是一种文本模式
3、正则表达式可以帮助我们检查字符是否与某种模式匹配
4、re模块使python语言有全部的表达式功能
5、re表达式作用?
a、快速高效查找或分析字符比对,也叫模式匹配,比如查找、比对、替换、插入、添加
b、实现一个编译查看,一般在处理文件时用的多
二、认识re正则表达式中的特殊元素?
\d:数字0-9
\D:非数字
\s:空白字符
\n:换行符
\w 匹配字母数字
\W 匹配非字母数字
^:表示的匹配字符以什么开头
$:表示的匹配字符以什么结尾
:匹配前面的字符0次或n次 eg:ab (* 能匹配a 匹配ab 匹配abb )
+:匹配+前面的字符1次或n次
?:匹配?前面的字符0次或1次
{m}:匹配前一个字符m次
{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是
1、findall
从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]
a、查找存在的字母,将查找到字母显示
案例1:

b、查看不存在的字母

2、match
从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败得到一个none值
a、匹配第一个不存在的字符

b、匹配第一个字符存在,返回字符的索引位

3、compile(不考虑)
编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]
4、search
从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错
a、多个字符,查找到第一个就停止

b、字符不存在,则返回none值

import re
print(re.findall("\d",str1)) #数字0-9

print(re.findall("\D",str1)) #非数字

# \d:数字0-9
import re
str1="a@bwcdd1ggsw2s@#aa"
s=re.findall('\D',str1)
print(s)
print(re.findall("\s",str1)) #空白字符

案例:
import re
str1="a@bwcd d1ggs w2s@# aa"
s=re.findall('\s',str1)
print(s)
print(re.findall("\n",str1)) #换行符

案例:
import re
str1="a@bwcd d1\nggs w2s@\n# aa"
s=re.findall('\n',str1)
print(s)
print(re.findall("\w",str1)) #匹配字母数字

案例:
import re
str1="a@bwcd d1\nggs w2s@\n# aa"
s=re.findall('\w',str1)
print(s)
print(re.findall("\W",str1)) #匹配非字母数字

案例:
import re
str1="a@bwcd d1\nggs w2s@\n# aa"
s=re.findall('\W',str1)
print(s)
print(re.findall("^a",str1)) #表示的匹配字符以什么开头
a、匹配不是以某字符开头,返回空列表

b、匹配是以某字符开头,返回字符

案例:
import re
str1="a@bwcd d1\nggs w2s@\n# aa"
s=re.findall('^a',str1)
print(s)
print(re.findall("4$",str1)) # 表示的匹配字符以什么结尾
a、匹配不是以某字符结尾,返回空列表

b、匹配是以某字符结尾,显示字符
# print(re.findall("a*",str1)) #匹配前面的字符0次或n次

案例:
import re
str1="a@bwcd daaaa1\naaaggs w2s@\n# aa"
s=re.findall('a*',str1)
print(s)
print(re.findall("a+",str1)) #匹配+前面的字符1次或n次

案例:
import re
str1="a@bwcd daaaa1\naaaggs w2s@\na# aa"
s=re.findall('a+',str1)
print(s)
print(re.findall("a?",str1)) #匹配?前面的字符0次或1次

案例:
import re
str1="a@bwcd daaaa1\naaaggs w2s@\na# aa"
s=re.findall('a?',str1)
print(s)

案例:
import re
str1="a@bwcd daaaa1\naaaggs w2s@\na# aa"
s=re.findall('a+?',str1)
print(s)
print(re.findall("a{2,4}",str1)) #匹配前一个字符m到n次(包括n次)

案例:
import re
str1="a@bwcd daaaa1\naaaggaaaaaas w2s@\na# aafda"
s=re.findall('a{2,4}',str1)
print(s)
print(re.findall("a{3}",str1)) #{m}:匹配前一个字符m次

案例:
import re
str1="a@bwcd daaaa1\naaaggaaaaaas w2s@\na# aafda"
s=re.findall('a{5}',str1)
print(s)
print(re.findall("b",str1,flags=re.I)) #查询不区分大写 re.I
#re.I是一个标识符

案例:
import re
str1="AAa@bAwcd daaaAa1\naaaggAaaaaaas w2s@\na# aafda"
s=re.findall('a',str1,flags=re.I)
print(s)
print(re.sub("\d","k",str1)) # 替换

案例:
import re
str1="AAa@bAwcd daaaAa1\naaaggAaaaaaas w2s@\na# aafda"
print(re.sub("a","1",str1))
培训成功就业30000+;
讲师团队:20+;
班级人数:15-30(1个班)
软件测试:两个班级(1个月)
大数据班:3个班级(1个月)
鸿蒙开发班:1个班级(1个月)
最高薪资:30k
最低薪资:7.5k
应届生最高:19k
应届生薪资:8-12k

学技术热线:15949613302
16607005847
Ai软件测试学习联系微信: 15949613302
Ai大数据学习联系微信 : xiaolehua003
鸿蒙开发:15949613302
扫码加微信
