我需要一个正则表达式来匹配数字列表和另一个匹配数字范围(表达式在这两种情况下都不会失败)。范围应由一个数字、一个破折号和另一个数字 (NN) 组成,而列表应由用逗号 (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
... 但它不应该匹配任何内容,因为字符串包含的不仅仅是一个范围。
我错过了什么?谢谢。