我试图验证表单字段是否包含排球比赛的有效分数。这就是我所拥有的,我认为它有效,但我不是正则表达的专家,无论如何:
r'^ *([0-9]{1,2} *- *[0-9]{1,2})((( *[,;] *)|([,;] *)|( *[,;])|[,;]| +)[0-9]{1,2} *- *[0-9]{1,2})* *$'
我使用的是python / django,而不是它对正则表达式匹配真的很重要。我也试图学习正则表达式,因此更优化的正则表达式将是有用/有用的。
以下是评分规则: 1.可以包含一个或多个有效集(集合=游戏)结果 2.每个结果必须是dd-dd形式,其中0 <= dd <= 99 3.每个附加结果必须用[,;]中的任何一个分隔。 4.允许包含任意数量的集&gt; = 1 5.除了数字中间外,任何地方都应该允许空格
所以,以下都是有效的: 25-10或25 -0或25-9或23-25(可能是一个或多个空格) 25-10,25-15或25-10; 25-15或25-10 25-15(再次允许空格) 25-1 2 -25,25-3; 4 - 25 15-10
另外,我需要将每个结果作为单独的单元进行解析。所以在上面的最后一个例子中,我需要能够分别处理: 25-1 2 -25 25-3 4 - 25 15-10
如果我可以从每个结果中删除空格,那就太棒了。我不能剥离所有空格,因为空格是结果集之间的有效分隔符。