Python 正则表达式不匹配:在任意位置搜索特定数量的数字

Python 正则表达式不匹配:在任意位置搜索特定数量的数字,python,regex,python-3.x,Python,Regex,Python 3.x,我正在尝试匹配以下格式的值: , ####-####-####-####### , ####-########-##### , ######-###-#-###-##-#-#### , ##-####-#####-#-###### 例如:2018-03-102018123-02-10-2019,10-20-20232316 应仅捕获,2018123-02-10-2019,10-20-20232316 开头的,是可选的。我基本上是想找到在逗号之间有5个或更多数字的值。i、 e.12345不是12

我正在尝试匹配以下格式的值:

, ####-####-####-#######
, ####-########-#####
, ######-###-#-###-##-#-####
, ##-####-#####-#-######
例如:
2018-03-102018123-02-10-2019,10-20-20232316

应仅捕获
,2018123-02-10-2019,10-20-20232316

开头的
是可选的。我基本上是想找到在逗号之间有5个或更多数字的值。i、 e.
12345
不是
123其他东西45

我的解决方案是在开始、结束和中间写3行正则表达式。开始和结束都很好,但我不知道中间该怎么走

有人能帮我解决这个问题吗

编辑#1:

提供的背景:

我用一个正则表达式和一个replace函数来替换一个大杂烩,它包含了我试图提取日期时返回的不同值

我确实在做类似于
”的事情。replace('regular expression':'aaaaaa(this getfilteredout'),regex=True)

编辑#2:

我正在用它来测试我的结果

我尝试使用
(?=,?)[^,]*\d{5,}[^,]*
,但由于某些原因,它与1个值匹配,因此不应该匹配


尝试以下正则表达式。这将捕获任何具有5个或更多连续数字的内容

r'.*(\d{5,}).*'

尝试以下正则表达式。这将捕获任何具有5个或更多连续数字的内容

r'.*(\d{5,}).*'
编辑 从给出的示例中,可以使用regex
\S*\d{5}[^\S]*

编辑
从给出的示例来看,regex
\S*\d{5,}[^,\S]*
可以使用

对不起,我的意思是5个或更多数字在一起,不在任何地方。即12345不是123 stuff 45这捕获了“2018-03-10”以及其他内容,我不想要“2018-03-10”“因为它在逗号之前没有5个数字。5个数字必须位于一起,并排,在逗号之间的某个地方。对不起,我的意思是5个或更多的数字在一起,不在任何地方。即12345不是123东西45这捕获了“2018-03-10”以及其他东西,我不想要“2018-03-10”因为逗号前没有5个数字。5个数字必须一起并排位于逗号之间的某个位置
data = '2018-03-10, 354687-56987-314, 2018123-02-10-2019, 10-20-20232316'
re.findall(r'[^, ]*\d{5,}[^,]*',data)

Out[847]: ['354687-56987-314', '2018123-02-10-2019', '10-20-20232316']