我需要一个与IP子网匹配的C#正则表达式,如“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地址和子网匹配。任何人都可以帮忙吗?
答案 0 :(得分:1)
您可以尝试使用前瞻。另外,请转义.
个字符 - 否则它会匹配任何字符:
@"\b\d{1,3}\.\d{1,3}\.\d{1,3}(?=\.\d{1,3})\b"
这将匹配127.65.231
之类的任何字符串,只要它后跟一个字符串.111
。
答案 1 :(得分:0)
@"^\d{1,3}\.\d{1,3}\.\d{1,3}$"
在正则表达式的开头使用Line Anchors.添加^,在结尾使用$,以验证输入的开头和结尾。
这将匹配127.65.231
但不匹配127.65.231.111