需要一个正则表达式来验证要与 TcpClient.Connect() 一起使用的主机名和端口

本文关键字:主机 一起 一个 正则表达式 TcpClient 验证 Connect | 更新日期: 2023-09-27 18:36:33

标题几乎说明了一切。

为了澄清,表达式必须匹配如下内容:

127.0.0.1:8888

或者这个:

localhost:8888

主机名和端口必须有效,但它们也必须位于字符串中,该字符串的构造类似于上面的冒号和 all。

我怎样才能做到这一点?

需要一个正则表达式来验证要与 TcpClient.Connect() 一起使用的主机名和端口

以下模式应与标准 IPv4 地址或文本"localhost"以及端口号匹配。

public static bool IsValidHostAddress(string hostAddress)
{
    const string Pattern =  @"^(([0-9]{1,3}.){3}([0-9]{1,3})|localhost):'d+$";
    var regex = new Regex(Pattern, RegexOptions.Compiled);
    return regex.Match(hostAddress).Success;
}