小星星123 发表于 2020-5-4 16:00:58

求大佬解答正则表达式返回最长字符串!!!感恩!

编写函数,接收一个任意字符串,返回其中最长的数字字串。要求使用正则表达式。

Twilight6 发表于 2020-5-4 16:06:03

能举个例子嘛

小星星123 发表于 2020-5-4 16:18:51

Twilight6 发表于 2020-5-4 16:06
能举个例子嘛

比如键入abcd12345ed125ss123456789,输出结果为123456789

老兵hb 发表于 2020-5-4 17:16:44

看看是你想要的吗?

oldstrlenth = 0#初始字符串长度赋值
newstrlenth = 0#输入字符串后长度重新赋值

for i in range(10):#循环十次
newstr = input('请输入字符串:')
newstrlenth = int(len(newstr))
if newstrlenth>oldstrlenth:
   print('最长字符串是:'+newstr)
   oldstrlenth=newstrlenth
else:
   continue

print('输入次数已到最大,游戏结束')   

kaohsing 发表于 2020-5-4 19:12:12

本帖最后由 kaohsing 于 2020-5-4 19:16 编辑

老兵hb 发表于 2020-5-4 22:31:41

以输入5个字符串为例

本帖最后由 老兵hb 于 2020-5-4 22:35 编辑

小星星123 发表于 2020-5-4 16:18
比如键入abcd12345ed125ss123456789,输出结果为123456789

empty = []

for i in range(5):
    newstr = input('请输入字符串:')
    empty.append(newstr)

print(max(empty,key=len))

老兵hb 发表于 2020-5-6 08:03:49

kaohsing 发表于 2020-5-4 19:12


高手! 能解释下吗?

_2_ 发表于 2020-5-6 15:03:02

本帖最后由 _2_ 于 2020-5-6 16:02 编辑

老兵hb 发表于 2020-5-6 08:03
高手! 能解释下吗?

\d 匹配数字,+ 表示一次或多次,再把 findall 后的结果按照长度(key)从小到大排序,返回最后的元素
页: [1]
查看完整版本: 求大佬解答正则表达式返回最长字符串!!!感恩!