提取所有浮点数和整数
编辑日期: 2024-11-28 文章阅读: 次
提取所有浮点数和整数
例如: 截至收盘,上证指数涨0.78%,报3446.73点,深证成指涨0.91%,报13642.95点,创业板指涨1.06%,报2672.12点。指数午后震荡走高,碳中和概念强者恒强,板块内上演涨停潮,环保、物业、特高压板块午后涨幅扩大,数字货币板块尾盘冲高,钢铁、煤炭、有色板块全天较为低迷,题材股午后整体回暖,两市上涨个股逾3000家,赚钱效益较好。 提取出所有浮点数和整数: 0.78, 3446.73, 0.91,13642.95 等
下面正则适用于提取正整数和大于0的浮点数,参看我的,若有疏漏欢迎补充。
>>> import re
>>> pat_integ = '[1-9]+\d*'
>>> pat_float0 = '0\.\d+[1-9]'
>>> pat_float1 = '[1-9]\d*\.d+'
>>> pat = 'r%s|%s|%s'%(pat_float_0,pat_float_1,pat_integ)
>>> re.findall(pat, r)
['0.78', '3446.73', '0.91', '13642.95', '1.06', '2672.12', '3000']
排除这些串:
000
000100
0.00
000.00
解释:*
表示前一个字符出现0次或多次,+
表示前一个字符出现1次或多次,\d
表示数字[0-9],[1-9]
表示1,2,3,4,5,6,7,8,9,\.
表示小数点
主要考虑:正整数最左侧一位大于0,大于1的浮点数必须以[1-9]开始,大于0小于1的浮点数小数点前只有1个0.
Python 20个专题完整目录: