62,621
社区成员
发帖
与我相关
我的任务
分享
String chekString="[1-255]\\.[0-255]\\.[0-255]\\.[0-255]$";
String ip="192.168.1.1";
if (ip.matches(chekString))
{
System.out.println("是一个正确的ip");
}
else
{
System.out.println("不是一个正确的ip");
} String ip="199.168.4.5";
String xy="(\\d|1\\d{0,2}|24\\d|25[0-5])";
String chekString=xy+"\\."+xy+"\\."+xy+"\\."+xy;
if (ip.matches(chekString))
{
System.out.println("是一个正确的ip");
}
else
{
System.out.println("不是一个正确的ip");
}
我是这样写的也成功了[/quote]你这样写除了可以匹配出正确的IP外还会匹配出不正确的IP,比如当数字大于255时,比如是256,也是匹配成功的.匹配值为6.168.4.5.String ip = "256.168.4.5";
String xy = "(\\d|1\\d{0,2}|24\\d|25[0-5])";
String chekString = xy + "\\." + xy + "\\." + xy + "\\." + xy;
Pattern pat = Pattern.compile(chekString);
Matcher mat = pat.matcher(ip);
while (mat.find()) {
System.out.println(mat.group());
}另外,先谢谢你的好意,转分就不用了,我回答问题不是为了分,共同学习,共同进步.
String ip="199.168.4.5";
String xy="(\\d|1\\d{0,2}|24\\d|25[0-5])";
String chekString=xy+"\\."+xy+"\\."+xy+"\\."+xy;
if (ip.matches(chekString))
{
System.out.println("是一个正确的ip");
}
else
{
System.out.println("不是一个正确的ip");
}
我是这样写的也成功了
[0-9] [a-z] [a-zA-Z]