专栏首页Python小屋Python正则表达式查找最长数字子串(好未来2017笔试题)

Python正则表达式查找最长数字子串(好未来2017笔试题)

问题描述:读入一个字符串str,输出字符串str中的连续最长的数字串。

思路与代码:

def longest1(s):

'''查找所有连续数字'''

import re

t = re.findall('\d+', s)

if t:

return max(t, key=len)

return 'No'

def longest2(s):

'''使用非数字作为分隔符'''

import re

t = re.split('[^\d]+', s)

if t:

return max(t, key=len)

return 'No'

def longest3(s):

'''笨办法'''

result = []

t = []

# 遍历字符串中所有字符

for ch in s:

# 遇到数字,记录到临时变量

if '0'<=ch<='9':

t.append(ch)

elif t:

# 遇到非数字,把临时变量中的连续数字记下来

result.append(''.join(t))

t = []

# 考虑原字符串以数字结束的情况

if t:

result.append(''.join(t))

if result:

return max(result, key=len)

return 'No'

s = 'ab1dc12ds2345r111111111'

print(longest1(s))

print(longest2(s))

print(longest3(s))

运行结果:

111111111

111111111

111111111

本文分享自微信公众号 - Python小屋(Python_xiaowu),作者:董付国

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python使用多进程批量判断素数

    代码功能:使用进程池判断素数,统计100000000以内的素数个数。 from multiprocessing import Pool def isPrime(...

    Python小屋屋主
  • Python生成CSV文件模拟某小区用户手机通话记录

    编写Python程序,生成CSV文件模拟某小区1000位用户2020年7月1日0时至2020年11月1日0时每次通话的开始时间和时长。数据格式如下:

    Python小屋屋主
  • 最优的素数判断代码(Python)是这样写出来的

    素数判断是个很经典的问题,各种语言的程序设计课程都会涉及到,按照素数定义(除了1和自身,素数没有其他因数)很容易写出下面的代码: def isPrime1(n...

    Python小屋屋主
  • 03:成绩排序 个人博客:doubleq.win

    个人博客:doubleq.win 03:成绩排序 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给出班里某门课程的成绩单...

    attack
  • 一位架构师用服务打动客户的故事之一

    ~~现在想想也觉得那近6个月的日子真开心,除了知识得到了系统性的查漏补缺,更得到了心智上的"收获"。

    安畅
  • [一起读源码]走进C#并发队列ConcurrentQueue的内部世界 — .NET Core篇

    在上一篇《走进C#并发队列ConcurrentQueue的内部世界》中解析了Framework下的ConcurrentQueue实现原理,经过抛砖引玉,得到了一...

    HOHO
  • 【图文】怎样搭建https网站?

    上一次,我交了大家腾讯云服务器CVM如何安装宝塔面板,下面到了用武之地了,来教大家如何通过宝塔控制面板快速创建https网站。

    弦山
  • EasyDSS搭建属于自身的短视频网站

    最近有部分用户咨询关于视频点播问题,主要需求就是集中于如何搭建属于自身的视频点播平台; 实现的功能类似于,对应自身拥有的视频文件,需要发布到一个网站,其他用户...

    EasyNVR
  • 工作8年的大佬,分享超详细的springBoot学习心得以及步骤路线图

    SpringBoot的目标是简化Spring的开发过程、让开发者快速搭建框架和web容器。并为微服务提供更好的支持,提供服务监控能力。Spring为开发者带来了...

    秃顶的Java程序员
  • ASP.NET(C#) 发送邮件帮助类Mailhelper

    KenTalk

扫码关注云+社区

领取腾讯云代金券