我需要一個正則表達式來匹配數字列表,而另一個匹配數字範圍(在這兩種情況下表達式永遠不會失敗)。範圍應由一個數字,一個破折號和另一個數字(N-N)組成,而列表應由用逗號(N,N,N)分隔的數字組成。下面是一些例子。正則表達式匹配範圍或數字列表
範圍:
'1-10' => OK
Whateverelse => NOK (e.g. '1-10 11-20')
列表:
'1,2,3' => OK
Whateverelse => NOK
這裏是我的兩個正則表達式:
- [0-9] + [\ - ] [0-9] +
- ([0-9] + ,?)+
...但我和他們的幾個問題...例如:
在評估'1-10'
,正則表達式2場比賽1
...但它不應該匹配任何內容,因爲該字符串不包含列表。
然後,評估'1-10 11-14'
時,正則表達式1場比賽1-10
...但因爲字符串中包含的不僅僅是一個範圍更不應該匹配任何。
我錯過了什麼?謝謝。
'1,2,4'OK?你需要依次編號嗎? – unlimit
就像一個提示,你可以使用這個:http://regexpal.com/來測試正則表達式 –
當你想要高級功能,它也取決於誰使用正則表達式的味道。 Perl有一組功能。 Awk另一個。 UNIX樣式程序深深地依賴於正在使用的操作系統。 – Gilbert