【发布时间】:2021-10-17 13:09:08
【问题描述】:
我想匹配任何可能包含小数、逗号或整数的数字。我尝试了以下方法,但如果数字有 > 2 个逗号,我的正则表达式将无法匹配。
谢谢
import re
string1= "6,111,123,999 5,450,900 10.32 OCT21 Dec 31, 2019"
num=re.findall(r'\b\d+[.,]*\d+[,]*d*\b', string1)
Result:
['6,111,123', '999', '5,450,900', '10.32', '31', '2019']
Desired Outcome --> ['6,111,123,999', '5,450,900', '10.32', '31', '2019']
【问题讨论】:
-
试试
[\d.,]+... -
这个正则表达式正在工作
([0-9,.]+),但我无法在 31 岁后让,无法捕捉 -
匹配任何由数字、逗号和点组成的字符串,并使用前瞻来确保它至少包含一个数字。或者,如果合适的话,写成它以一个数字开头,然后是数字、逗号或点,最后是一个数字。
-
@GhostOps 这也将匹配
,,..,,,.。