Python正则表达式匹配数字或什么都不匹配

Python正则表达式匹配数字或什么都不匹配,python,regex,python-2.7,match,Python,Regex,Python 2.7,Match,我有条件: 第一个 \-1,1\N,0.0464128206,0.1106913625,-0.0261445305\ 第二个 \-1,1\N,0.,0.,0.\ 它可以手动执行到 \-1,1\N,0.0,0.0,0.0\ 但我试图让脚本在不进行任何编辑的情况下工作 我的正则表达式是 \d,\d\\[A-Z],[-]?\d+.\d+,[-]?\d+.\d+,[-]?\d+.\d+ 如何使正则表达式在\d+上工作,或者在不存在时跳过它 UPD: 我想使正则表达式对两个字符串都成立。如何使此

我有条件:

第一个

\-1,1\N,0.0464128206,0.1106913625,-0.0261445305\
第二个

\-1,1\N,0.,0.,0.\
它可以手动执行到

 \-1,1\N,0.0,0.0,0.0\
但我试图让脚本在不进行任何编辑的情况下工作

我的正则表达式是

\d,\d\\[A-Z],[-]?\d+.\d+,[-]?\d+.\d+,[-]?\d+.\d+
如何使正则表达式在\d+上工作,或者在不存在时跳过它

UPD: 我想使正则表达式对两个字符串都成立。如何使此部分“\d+。\d+”在缺少第二个\d+时跳过它?
[\d+]?不工作。

后的零件从
\d+
更改为
\d*
,如下所示:

\d,\d\\[A-Z],[-]?\d+\.\d*,[-]?\d+\.\d*,[-]?\d+\.\d*
\d+\.\d*
的解释如下:

至少一个数字,然后正好一个点,然后是零或一个或多个数字

请注意,我还将您的
更改为
\.
表示任何字符)

指向debuggex的链接:

--更新

您的正则表达式可以简化为:

\d,\d\\[A-Z](?:,-?\d+\.\d*){3}
它只是将您的
,\d+\.\d*
分解,知道此组重复三次。它还将
[-]
更改为更干净的
-

(?:…){3}
语法表示非捕获组重复三次


链接到更新的debuggex:

您到底想要实现什么?不清楚您想要得到什么。如果给定字符串1,您希望输出什么?字符串2也是一样。@Jivan,请看一下更新,它听起来像是您想要的
\d*
(这相当于
(\d+)?
)。@XuMuK好的,编辑索引更清晰是!这正是我一直想得到的!谢谢你的调试器链接!好的,我会记得,这一点和任何单个字符一样。@XuMuK谢谢-我更新了一点正则表达式,使它更简单、更干净