正则表达式

正则表达式:

import re

s1 = 'python ui web 张三'

print(s1.find('web'))

print(re.search('web',s1)) #正则提供的精准查找

print(re.findall('web',s1)) #正则提供的模糊查找

t = '\d+'

print(re.findall(t,s1)) #通过正则查找字符串里的数字

#:t通配符:万能符,可以匹配\n以外的所有符号

s1 = 'tom 200 bom 308 do\nm 400 5e'

res1 = re.findall('0-9+',s1)

res2 = re.findall('0-9{1,}',s1)

res3 = re.findall('\d+',s1)

res4 = re.findall('\\d+',s1)

res5 = re.findall(r'\d+',s1)

res6 = re.findall(r'd|b+',s1)

res7 = re.findall(r'tbdom',s1)

res8 = re.findall(r'\n',s1)

res9 = re.findall(r'0-9a-zA-Z',s1)

print(res1)

print(res2)

print(res3)

print(res4)

print(res5)

print(res6)

print(res7)

print(res8)

print(res9)

s1 = 'aeeee age agree ape are a\ne ape a9e aFe'

reg = 'a.e'

res = re.findall(reg,s1)

res1 = re.findall('a.e',s1)

print(res1)

#2\[\]:表示字符串只能匹配一个

s2 = 'aeeee age agree ape are a\ne ape a9e aFe'

res1 = re.findall('ape',s1)

res2 = re.findall('apge',s1)

res3 = re.findall('a0-9e',s1)

res4 = re.findall('aa-ze',s1)

res5 = re.findall('aA-Ze',s1)

res6 = re.findall('aa-zA-Ze',s1)

res7 = re.findall('a\^0-9e',s1)

res8 = re.findall('a\^a-ze',s1)

print(res1)

print(res2)

print(res3)

print(res4)

print(res5)

print(res6)

print(res7)

print(res8)

#{}制定左侧可以重复的范围

s3 = 'aeeee age agree ape are a\ne ape a9e aFe'

res1 = re.findall('a...e',s3)

res2 = re.findall('a{3}e',s3)

#贪婪匹配规则,默认按照最大数量匹配

res6 = re.findall('a.{1,3}e',s3)

#取消贪婪匹配规则,在{}加?

res7 = re.findall('a.{1,3}?',s3)

#如果第二个值不写,默认无穷大

res8 = re.findall('a.{1,}',s3)

#更换匹配模式,匹配所有

res9 = re.findall('a.{1,}e',s3,re.S)

print(res6)

print(res7)

print(res8)

print(res9)

#?:制定左侧符号出现0次或1次,等同于{0,1},默认贪婪

s4 = 'aeeee age agree ape are a\ne ape a9e aFe'

res10 = re.findall('a.{0,1}?e',s4)

res11 = re.findall('a.??e',s4)

print(res10)

print(res11)

#*:制定左侧符号出现0次或多次,等同于{0,},默认贪婪

s4 = 'aeeee age agree ape are a\ne ape a9e aFe'

res10 = re.findall('a.{0,}?e',s4)

res11 = re.findall('a.*?e',s4)

print(res10)

print(res11)

#+:制定左侧符号出现1次或多次,等同于{1,},默认贪婪

s4 = 'aeeee age agree ape are a\ne ape a9e aFe'

res13 = re.findall('a.+?e',s4)

res12 = re.findall('0-9+?',s4)

print(res12)

print(res13)

s7 = '122223333', '13432416666','11011112222'

def test():

for i in num:

rees = re.findall(r'^13-9\d{9}$',n)

print(res)

test()

^与$

$以某个规则结尾

^以某个规则开头

s5 = '王哥王弟王嫂'

res12 = re.findall('王',s5)

res13 = re.findall('^王.',s5)

res14 = re.findall('王.$',s5)

相关推荐
TE-茶叶蛋6 分钟前
TF-IDF 与 BM25 深度解析:从理论到项目实战
python·django·tf-idf
赴生-6 分钟前
C++进阶 C++11(下)
开发语言·c++
xcbrand9 分钟前
湖南VI设计公司排名
大数据·人工智能·python
lllsure37 分钟前
【开源项目】Learn Claude Code
python·ai
赴生-1 小时前
C++进阶 异常
开发语言·c++
黄毛火烧雪下1 小时前
Java 核心知识点总结(一)
java·开发语言
其实防守也摸鱼2 小时前
软件安全与漏洞--软件安全编码与防御技术理论题库
开发语言·网络·安全·网络安全·软件安全·软件安全与漏洞
x138702859572 小时前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
iCxhust2 小时前
C#进程管理程序
开发语言·汇编·stm32·单片机·c#·微机原理
凡人叶枫2 小时前
Effective C++ 条款28:避免使用 handles 指向对象内部
linux·服务器·开发语言·c++·嵌入式开发