如上所述,有人可以帮助我使用正则表达式。
我有一个xml元素'docs',它有一个属性'range',其中range应该只采用以下格式的值。
range =“1,2,3,4,5”
或
range =“1,2,3-6,10-12,15,20-30”
或
range =“all”
小小的帮助将不胜感激。 提前谢谢。
答案 0 :(得分:3)
答案 1 :(得分:2)
all|[1-9][0-9]*(-[1-9][0-9]*)?(,[1-9][0-9]*(-[1-9][0-9]*)?)*
我假设不允许零和前导零。
正则表达式不是确保数字按升序排列的好方法。
答案 2 :(得分:1)
正如@minopret所提到的,这可能最好不能用正则表达式完全处理。我会split(",")
字符串,然后迭代结果数组以确保它们按升序排列。您可以在该点对每个单独的数组元素进行正则表达式,以确保它们符合以下内容:
\d+(-\d+)?