我試圖驗證表單域包含排球比賽的有效比分。下面是我有什麼,我認爲它的工作原理,但我不是正則表達式的專家,以任何方式:解析體育比分的正則表達式
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.允許任何數量的套> = 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 25-10
另外,我需要每個結果作爲解析。因此在上面的最後一個例子,我需要能夠獨立工作: 25-1 2 -25 25- 3 4 - 25 15-10
這將會是巨大的,如果我能剝每個結果中的空格。我不能僅僅去掉所有空格,因爲空格是結果集之間的有效分隔符。
這當然比我想出的混亂更簡單。今天我會測試它對可能的分數輸入的各種排列。謝謝! –
謝謝!這很好:)如果它適用於您,請接受答案以欣賞一些積分的答案; P –
您的字符串並不完全取代我的,但它導致我一個更好的解決方案: –