python五十七课——正则表达式(多个字符)


演示匹配多个字符:
以下x、y、n都是变量名:
分类:
1).模糊匹配:

x?:表示0个或者1个 取值范围:[0,1]
x+:表示1个或者多个 取值范围:[1,无穷大)
x*:表示0个或者多个 取值范围:[0,无穷大)
【注意】
以上三种符号(?、+、*)都满足贪婪匹配的特点,
意味着在匹配的前提下,尽可能多的返回数据
思考:如果取消贪婪行为? --> 达到的效果就是在匹配的前提下,尽可能少的返回数据
代码体现:在正则的最后显示的定义一个?即可
2).精确匹配:
n{x}:n匹配x次
n{x,}:n最少有x次,最多无穷大 范围:[x,无穷大)
n{x,y}:n最少有x次,最多有y次 范围:[x,y]
import re
str1='bbbbbbbbbbbcccbbbb'
print(re.search(r'b?',str1).group())
print(re.search(r'b??',str1).group())
print(re.search(r'b+',str1).group())
print(re.search(r'b+?',str1).group())
print(re.findall(r'b?',str1))
print(re.findall(r'b?',str1))
print(re.findall(r'b+',str1))
print(re.findall(r'b+?',str1))
print(re.findall(r'b*',str1))
print(re.findall(r'b*?',str1))

#需求:尝试匹配内容:hank ... man
str1='hank is a good man hank is a nice man hank is a cool man'
regex=r'hank.*man'
# regex=r'hank.*?man'
lt=re.findall(regex,str1)
print(lt)
print(re.search(regex,str1).group())
print('实现精准匹配...')

str1='aaaabbbaaaaaaaaaaaa'
print(re.findall(r'a{3}',str1))
print(re.findall(r'a{3,}',str1))
print(re.findall(r'a{3,}?',str1))
print(re.findall(r'a{6,8}',str1))
print(re.findall(r'a{6,8}?',str1))

转载于:https://www.cnblogs.com/hankleo/p/10503918.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值