Python查找字符串中最大连续出现数字字符串

写之前查了些博客发现都有bug,于是自己写了个;用于查找字符串中最大连续出现数字个数(1-9);

 

 

下面是代码,不懂的请沟通。

import re
#寻找最大连续数字串
def findMaxConsNum(strings):
    list1 = []
    list2 = []
    pattern = '[1-9]'
    r = re.compile(pattern)
    for i in strings:
        if r.match(i):
            list1.append(i)
        else:
            if len(list1) > len(list2):
                list2 = [i for i in list1]
            list1 = []
    if len(list1) > len(list2):
        return list1
    else:
        return list2

#测试结果
#findMaxConsNum('1N11N123N1213')
#['1', '2', '1', '3']

#findMaxConsNum('1N11N1N1')
#['1', '1']

#findMaxConsNum('N111')
#['1', '1', '1']

#findMaxConsNum('N111N')
#['1', '1', '1']

#findMaxConsNum('111N1N11N')
#['1', '1', '1'

#findMaxConsNum('156789NNN11N234N5')
#['1', '5', '6', '7', '8', '9']

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值