[英]using Regular exprestion to validate IP Address in Powershell?
我在PowerShell中有这个代码,它不起作用! 任何帮助?
我只是需要它来确保字符串是一个工作IP而不是999.999.999.999或普通字符串
只是一个IP [0 .... 255]。[0 .... 255]。[0 .... 255]。[0 .... 255]
if ($newIP -match "(\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b)") { $x = $True}
干杯
怎么样:
[bool]($newIP -as [ipaddress])
这是一个更紧凑的:
\\b(([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\b
甚至更短
^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$
这工作正常,如果不是完整的IP错误
$Name = "1.1" ; [bool]($Name -as [ipaddress] -and ($Name.ToCharArray() | ?{$_ -eq "."}).count -eq 3)
以下内容不起作用^(?:[0-9] {1,3}。){3} [0-9] {1,3} $例如,需要匹配来自IP的最后一个八位字节的部分地址[0-9] {1,3} - 这不会仅匹配0到255区间内的数字。最好的方法是检查单个八位位组到250到255; 240至249; 100至199; 10到99; 和0到99。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.