史上最全 Python Re 模块讲解(三)

继上篇
https://blog.csdn.net/weixin_42625143/article/details/95330557

“{m}” :匹配字符串出现m次

>>> pat = re.compile( [op]{
   2} )     #o或p出现2次
>>> pat.search( abcooapp ).group()  #匹配第一次出现的字符串,o比p先出现
oo
>>> pat.findall( abcooapp )         #匹配出现的所有字符串,列表形式返回
[ oo , pp ]

“{m,n}” :匹配字符串出现m到n次

>>> pat = re.compile( [op]{
   2,4} )     #o或则p出现2到4次
>>> pat.match( pppabcooapp ).group()  #匹配开头
ppp
>>> pat.search( pppabcooapp ).group() #匹配第一次出现
ppp
>>> pat.findall( pppabcooapp )        #匹配所有
[ ppp , oo , pp ]

.group() #匹配第一次出现

边界
“^” :匹配字符串开头或行头

>>> pat = re.compile( ^[abc] )     #开头是a、b、c中的任意一个
>>> pat.search( defabc ).group()    
>>> pat.match( defabc ).group()    #均找不到
>>> pat.findall( defabc )
[]
 
>>> pat.search( adefabc ).group()
a
>>> pat.match( adefabc ).group()   #开头是a、b、c中的任意一个
a
>>> pat.findall( adefabc )
[ a ]
 
>>> pat = re.compile( ^[abc]+ )    #开头是a、b、c中的任意一个的一次或则多次,贪婪:匹配多个
>>> pat.findall( cbadefab )
[ cba ]
>>> pat = re.compile(r ^[abc]+? )  #开头是a、b、c中的任意一个的一次或则多次,非贪婪:匹配一个
>>> pat.findall( cbadefab )
[ c ]

“$” :匹配字符串结尾或则行尾

>>> pat = re.compile( [abc]$ )
>>> pat.match( adefAbc ).group()   #match匹配的是字符串开头,所以查找$的时,总是返回None
>>> pat.search( adefAbc ).group()  #结尾是a、b、c中的任意一个
c
>>> pat.findall( adefAbc )        
[ c ]
>>> pat =
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值