盘点一个正则表达式题目(惊艳写法)

2022-08-17 17:19:29 浏览数 (1)

大家好,我是皮皮。

一、前言

前几天在Python钻石交流群【月神】问了一个正则表达式的题目,这里拿出来给大家分享。

二、实现过程

这里【时一】直接上代码了,如下所示:

代码语言:javascript复制
import re

li = ['30-100元', '3.5-7.5元', '6元', '  7- 9元']
result = [float(re.search(r"(d*.?d )元", key).group(1)) for key in li]
print(min(result), max(result))

这个代码亲测好使,运行之后结果如下。

不过后来发现【月神】并不是这个意思,后来补充了下,如下图所示:

那么此时代码就需要改下了,如下所示:

代码语言:javascript复制
import re

li = ['30-100元', '3.5-7.5元', '6元', '  7- 9元']
result = [[float(item) for item in re.findall(r"(d*.?d )", key)] for key in li]
print(result)
print(min(result), max(result))

如此就完美解决了,大家叹为观止。

真是应了那句话,羡慕会简写的,每次自己都得写一堆,人家几行就搞定了!!

三、总结

大家好,我是皮皮。这篇文章主要盘点一个正则表达式题目(惊艳写法),如果你还有其他写法,也欢迎大家积极尝试,一起学习。

最后感谢粉丝【月神】分享,感谢【时一】大佬给出的代码和解析,感谢粉丝【冯诚】、【艾希·觉罗】、【dcpeng】、【杨羊】、【猫药师Kelly】、【某嘟】、【emerson】等人参与学习交流。

0 人点赞