考虑用于测试端口号的正则表达式。
(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中的端口号正则表达式应该是什么样的?
答案 0 :(得分:11)
通常,正则表达式对于数值验证并不是那么好。我建议在匹配的组中使用Integer.parseInt
,然后检查它是否小于65536。
答案 1 :(得分:2)
"(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;
}