首页 > 解决方案 > 正则表达式匹配字符串内的浮点数,中间有任何字符或空格

问题描述

我的正则表达式

\d+\.*\d+

我的字符串

4a 1 a2 3 21 12a3 123.12

我得到什么:

['21', '12', '123.12']

我需要的:

412321123123.12

例如,当只有 123.12 时我工作得很好,但是当我在它们之间添加空格或新字符时,它会将它们分开。我希望它跳过所有的空格和字符,只提取用“。”分隔的数字。在正确的位置。

标签: pythonregex

解决方案


删除不是数字或点的所有内容:

import re


result = re.sub('[^.\d]', '', '4a 1 a2 3 21 12a3 123.12')
print(result)

输出

412321123123.12

推荐阅读