Skip to content

Latest commit

 

History

History
46 lines (28 loc) · 1.49 KB

197.md

File metadata and controls

46 lines (28 loc) · 1.49 KB
@author jackzhenguo
@desc
@tag
@version 
@date 2020/04/04

下面正则适用于提取正整数和大于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.

Day163:使用Python正则 提取出输入一段文字中的所有浮点数和整数 #Python拆书1#

例如: 截至收盘,上证指数涨0.78%,报3446.73点,深证成指涨0.91%,报13642.95点,创业板指涨1.06%,报2672.12点。指数午后震荡走高,碳中和概念强者恒强,板块内上演涨停潮,环保、物业、特高压板块午后涨幅扩大,数字货币板块尾盘冲高,钢铁、煤炭、有色板块全天较为低迷,题材股午后整体回暖,两市上涨个股逾3000家,赚钱效益较好。

提取出所有浮点数和整数: 0.78, 3446.73, 0.91,13642.95 等

[上一个例子](196.md) [下一个例子](198.md)