c# - 匹配 IP 子网的正则表达式

标签 c# regex ip

我需要一个 C# 正则表达式来匹配 IP 子网,如“127.65.231”,但不匹配子网上的 IP 地址,如“127.65.231.111”。我找到了一个 IP 地址的正则表达式:

@"\b\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\b"

我想我可以删除检查最后一个八位字节的部分,如下所示:

@"\b\d{1,3}.\d{1,3}.\d{1,3}\b"

但这同时匹配 IP 地址和子网。有人可以帮忙吗?

最佳答案

您可以尝试使用前瞻。另外,请转义 . 字符——否则它会匹配任何字符:

@"\b\d{1,3}\.\d{1,3}\.\d{1,3}(?=\.\d{1,3})\b"

这将匹配像 127.65.231 这样的任何字符串,只要它后面跟着像 .111 这样的字符串。

关于c# - 匹配 IP 子网的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979558/

相关文章:

regex - 如何从这个键值对中提取值?

amazon-web-services - 如何验证无效的 CIDR block ?

c# - 在某些 SOAP 服务中未调用 IDispatchMessageInspector.AfterReceiveRequest

c# - 在NET核心中以有效的方式将一种数据类型的数组转换为另一种数据类型的数组?

c# - 如何就地对 Collection<T> 进行排序?

c# - .net 版本 VS2005 用于 C# 项目

javascript - 使用 Javascript 验证巴西货币的正则表达式

java - 用第二个字符和用正则表达式打印的最后四个字符在 Java 中屏蔽电话号码

python - 向已知公网 IP 的服务器发送 http get 请求

c++ - 如何获取接口(interface) getaddrinfo() (addrinfo) 用于 connect() 的 IP