C#正则表达式端口验证49152至65535
在阅读了有关端口和建议端口的内容后,我发现要遵守Internet Assigned Numbers Authority(IANA)对专用端口的建议,您应该只使用49152到65535之间的端口。因此,我尝试使用正则表达式模式检查用户是否输入了该范围内的端口。我把这些拼凑在一起,头疼不已,我不得不阅读很多教程才能理解到这一点,正则表达式模式真的不是人性化的。基本上,我正在寻找一个比我更有知识的人来验证它是否正确。我的测试似乎表明了这一点,但也许我遗漏了一些我只是想确定的东西C#正则表达式端口验证49152至65535,c#,C#,在阅读了有关端口和建议端口的内容后,我发现要遵守Internet Assigned Numbers Authority(IANA)对专用端口的建议,您应该只使用49152到65535之间的端口。因此,我尝试使用正则表达式模式检查用户是否输入了该范围内的端口。我把这些拼凑在一起,头疼不已,我不得不阅读很多教程才能理解到这一点,正则表达式模式真的不是人性化的。基本上,我正在寻找一个比我更有知识的人来验证它是否正确。我的测试似乎表明了这一点,但也许我遗漏了一些我只是想确定的东西 string patt
string pattern = @"^(6553[0-5]|655[0-2]\d|65[0-4]\d\d|6[0-4]\d{3}|5\d{4}|49[2-9]\d\d|491[6-9]\d|4915[2-9])$";
问候 为什么要使用正则表达式
string input = "51204";
int portNumber;
if (int.TryParse(input, out portNumber)
&& portNumber >= 49152
&& portNumber <= 65535)
{
// Valid value...
}
string input=“51204”;
int端口号;
if(int.TryParse(输入,输出端口号)
&&端口号>=49152
&&portNumber为什么使用正则表达式
string input = "51204";
int portNumber;
if (int.TryParse(input, out portNumber)
&& portNumber >= 49152
&& portNumber <= 65535)
{
// Valid value...
}
string input=“51204”;
int端口号;
if(int.TryParse(输入,输出端口号)
&&端口号>=49152
&&端口号int端口;
bool InRange=Int32.TryParse(StrPort,out-port)和&port>=49152和&portint-port;
bool InRange=Int32.TryParse(StrPort,out port)&&port>=49152&&port使用并验证生成的整数到边界。使用并验证生成的整数到边界。这可能不是您问题的答案,但您可以使用:
int port = Convert.ToInt32(input);
if (port >= 49152 && port <= 65535) {
//port is valid
}
int-port=Convert.ToInt32(输入);
如果(端口>=49152&&port这可能不是您问题的答案,但您可以使用:
int port = Convert.ToInt32(input);
if (port >= 49152 && port <= 65535) {
//port is valid
}
int-port=Convert.ToInt32(输入);
如果(port>=49152&&port严重吗?正则表达式用于检查整数边界?我认为这是一个典型的情况,您不应该使用正则表达式I同意mensi;为什么不能使用<和>进行测试?您需要了解字符串和整数之间的区别,以及它们在内存中的表示方式和原因。尽管如此,还是要使用+1。正则表达式似乎正确。说真的吗?正则表达式检查整数边界?我认为这是一个典型的情况,你不应该使用正则表达式。我同意mensi的观点;为什么你不能只使用<和>来测试?你需要理解字符串和整数之间的区别,以及它们在内存中的表示方式和原因。尽管如此,+1表示努力。正则表达式似乎是正确的。我可以我从来没有想到要这么做,谢谢。我可以看到这里面的逻辑。我从来没有想到要这么做,谢谢