首页 > 解决方案 > 正则表达式不匹配浮点值和“1 长度非数字”

问题描述

我有一个字符串

some_string = """
15.10.2020 102000 sometext 11112 
16.11.2020 120888.89 sometext 22222
18.09.2020 1 fjjfjf sometext 
15.12.2020 109555.55 sometext 22222
"""

我应该有这样的输出

15.10.2020 102000
16.11.2020 120888.89
18.09.2020 1
15.12.2020 109555.55

我尝试使用此方法,但正则表达式不匹配'1-length non-digit'

re.findall("\d{2}\.\d{2}\.\d{4}\s\d+\.{0,1}\d", some_string)
but had output
['15.10.2020 102000', '16.11.2020 120888.8', '15.12.2020 109555.5']

然后我尝试像这样使用更改它

re.findall("\d{2}\.\d{2}\.\d{4}\s\d+\.{0,1}\D", some_string)
#in this case regex matched '1-length as digit' but not as a float
['15.10.2020 102000 ',
 '16.11.2020 120888.',
 '18.09.2020 5 ',
 '15.12.2020 109555.']

你能帮我解决我的问题吗?

标签: pythonregexstringre

解决方案


推荐阅读