匹配IP子网的正则表达式

本文关键字:正则表达式 子网 IP 匹配 | 更新日期: 2023-09-27 18:25:38

我需要一个C#正则表达式,它将匹配一个IP子网,如"127.652.31",但不匹配子网上的IP地址,如"127.65.231.111"。我找到了一个IP地址的Regex:

@

我想我可以删除检查最后一个八位字节的部分,就像这样:

@

但这与IP地址和子网都匹配。有人能帮忙吗?

匹配IP子网的正则表达式

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

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

这将匹配任何类似127.65.231的字符串,只要后面跟一个类似.111的字符串即可。

@"^'d{1,3}'.'d{1,3}'.'d{1,3}$"

使用线锚。在Regex的开头添加^,在结尾添加$,以验证输入的开头和结尾。

这将与127.65.231匹配,但与127.65.231.111 不匹配