re python

这篇博客详细介绍了正则表达式的基础知识,包括单个字符、数量词、边界匹配、逻辑分组等,并通过实例展示了findall、search、match、split和sub等函数的用法,帮助读者理解并掌握正则表达式在字符串匹配和处理中的应用。
摘要由CSDN通过智能技术生成
正则表达式基础
"""
正则表达式基础
"""
############ 单个字符
# 代表单个字符
# . 代替啥都行
# \d 数字0-9
# [0-8] 数字0-8
# [1|8] 数字1或8
# \D 非数字
# \w 单词或数字字符
# [a-f] a到f
# [a|f] a或f
# \W 非单词字符
# \s 空白符
# [\u4e00-\u9fa5] 中文字符
############ 数量词
# *  0到正无穷
# ? 0到1
# + 1到正无穷
# {m} 匹配前一个字符m次
# {m,n} 匹配前一个字符m到n次
############ 边界匹配
# ^ 从开头匹配
# $ 到结尾
########### 逻辑分组
#  | 左右表达式任意匹配一个,先左后右
# ()起来后面可以加数量词
findall
"""
findall
"""
# 返回一个list,显示分组里匹配到的,若想全部匹配,则加上?:
s="321321efadgads1531xcafgadd232131"
t=r"\d+([a-z]+)"
print(re.findall(t,s))  # 正则表达式放前面   # ['efadgads', 'xcafgadd']

t = r"\d+(?:[a-z]+)"
print(re.findall(t, s))  #['321321efadgads', '1531xcafgadd']
search
"""
search
"""
# 只会返回第一个匹配结果
# .group() or .group(0) 代表返回全部结果
# .group(n) 代表返回第n个分组
s = "efadgads1531xcafgadd232131"
t = r"\d+([a-z]+)"
print(re.search(t, s).group(0)) #1531xcafgadd
print(re.search(t, s).group(1)) #xcafgadd
match
"""
match
"""
# match 相比 search 唯一不同 是 要求 从开头匹配
s = "efadgads1531xcafgadd232131"
t = r"\d+([a-z]+)"
# print(re.match(t, s).group(0)) # nothing 因为开头不是数字
# print(re.match(t, s).group(1)) # nothing
split
"""
split
"""
# 分割
# 会将分组进行保留  ()
s = "efadgads1531xcafgadd232131"
t = r"\d+"
print(re.split(t,s)) #['efadgads', 'xcafgadd', '']
t= r"(\d+)"
print(re.split(t,s)) #['efadgads', '1531', 'xcafgadd', '232131', '']
sub
"""
sub
"""
# 替换 sub 最后一个参数代表替换几个
s = "efadgads1531xcafgadd232131"
t = r"\d+"
print(re.sub(t,'haihaihai',s)) # efadgadshaihaihaixcafgaddhaihaihai
print(re.sub(t,'haihaihai',s,1))  # efadgadshaihaihaixcafgadd232131
compile
"""
compile
"""
## 比如findall就要多次匹配
ret=re.compile(r'\d+')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值