当前位置:首页>python>python之模块re正则

python之模块re正则

  • 2026-10-11 07:58:39
python之模块re正则

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 

扫码加微信

最新文章

随机文章