我试图验证表单字段包含排球比赛的有效分数。这就是我所拥有的,我认为它很有用,但我不是正则表达式方面的专家,不管怎么说:
r'^ *([0-9]{1,2} *- *[0-9]{1,2})((( *[,;] *)|([,;] *)|( *[,;])|[,;]| +)[0-9]{1,2} *- *[0-9]{1,2})* *$'我使用python/django,并不是说它对regex匹配非常重要。我也在努力学习正则表达式,所以更优化的正则表达式将是有用的/有用的。
以下是分数的规则: 1.可以包含一个或多个有效集(set=game)结果。每个结果必须是dd-dd格式,其中0 <= dd <= 99 3。每个附加结果必须用任意一组分隔;4。允许任意数量的集合( >=1 )包含5。除一个数字的中间位置之外,任何地方都应该允许空格。
因此,下列各项都是有效的: 25-10或25 - 0或25- 9或23 -25 (可能是一个或多个空格) 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。
如果我能从每一个结果中去掉空间,那就太好了。我不能只去掉所有的空格,因为空格是结果集之间的有效分隔符。
https://stackoverflow.com/questions/42207755
复制相似问题