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