re模块

re模块:从字符串里面找到特定的字符串

re的基本语法(匹配规则)

import re
s = '王大炮打炮被大炮打死了 王大炮打炮被大炮打死了'

^:开头

print(re.findall('^王大炮',s))

$:结尾

print(re.findall('死了$',s))

[]匹配中间的字符,只要单个字符

s = 'acefghjkacefsdfsdf'
print(re.findall('[acef]',s))

[]+连用,对[]内的元素取反

print(re.findall('[^acef]',s))

.任意字符除了\n

s='abacadaeaf'
print(re.findall('a..',s))

s = 'abaacaaaaa'

*前面的字符0-无穷个

print(re.findall('a*',s))

+前面的字符1-无穷个

print(re.findall('a+',s))

?前面的字符0-1个

print(re.findall('a?',s))

{m}前面的字符m个

print(re.findall('a{5}',s))

{n,m}前面的字符n-m个

print(re.findall('a{2,5}',s))

s='s 1 s+\n=$\t2_s 3'

\d数字

print(re.findall('\d',s))

\D非数字

print(re.findall('\D',s))

\w数字字母下划线

print(re.findall('\w',s))

\W非数字字母下划线

print(re.findall('\W',s))

\s空格\t\n

print(re.findall('\s',s))

\S非空格\t\n

print(re.findall('\S',s))

\取消意义

s='aba\d'
print(re.findall(r'a\b',s))

.*贪婪模式,找到值后继续找到最后,让结果最大化

s='abbbcabc'
print(re.findall('a.*c',s))

.*?非贪婪模式,找到第一个后就马上停止了

print(re.findall('a.*?c',s))

()只要括号内的除了什么以外

s='abacad'
print(re.findall('a(.)',s))

A|B,A和B都要

s='abacad'
print(re.findall('a|b',s))

posted @   大海一个人听  阅读(132)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示