正则表达式以递增顺序表示数字范围

时间:2012-11-13 18:44:11

标签: regex numbers range

我必须使用格式“number1-number2”指定一对端口。 Number1和number2都在[0-65535]范围内。但是number2总是大于number1。

是否可以将正则表达式表达为逻辑“number2始终大于number1”。

1 个答案:

答案 0 :(得分:1)

提取数字应该是您的首选,因为它是最佳选择。仅在正则表达式中没有好的方法可以做到这一点。你应该使用

\\[(\\d+)-(\\d+)\\]

提取这两个数字并进行比较。从字符串到整数的转换在成本上是微不足道的,并且与可能接近您需要的任何正则表达式的价格相比相形见绌。我们正在谈论大量的多项式指数与线性时间的关系。