Android中端口号的正则表达式?

时间:2010-10-08 22:34:18

标签: android regex

考虑用于测试端口号的正则表达式。

(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})

这在Android中无效。

知道Android中的端口号正则表达式应该是什么样的?

3 个答案:

答案 0 :(得分:11)

通常,正则表达式对于数值验证并不是那么好。我建议在匹配的组中使用Integer.parseInt,然后检查它是否小于65536。

答案 1 :(得分:2)

假设您正在编写Java代码,

"(6553[0-5]|655[0-2]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[1-5]\\d{4}|[1-9]\\d{0,3})"适用于a Java Regex test page。您可能必须转义Java字符串文字的反斜杠才能工作。但是,这个表达式并不是零是有效端口号。

答案 2 :(得分:-1)

它很旧,但万一有人想知道如何使用tryparse,开发人员提到了一个:

int portNumber;
if (int.TryParse(inputPortValue, out portNumber)
    && portNumber >= 256
    && portNumber <= 0){
     error = "Invalid Port: " + inputPortValue
     ". Please verify.";
     return false;
     }