IPv4与IPv6

IPv4有32位分4段用.隔开,每段的8位二进制用十进制表示为1到3位十进制数,范围为0-255

IPv6有128位分8段用:隔开,每段的16位二进制用十六进制表示为0(全是0时只有有时候看到相邻的:出现::,但这种表示方法只能出现一次)到4位十六进制,范围为0-ffff

/*生成正则表达式对象*/
String regexp = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
Pattern p = Pattern.compile(regexp);

//以待校验目标为参数创建正则表达式对象的匹配器
Matcher m = p.matcher("testIP");
//用匹配器的find方法或matches方法进行匹配
if (m.find()) {
    return m.group(0);
}

find()方法是部分匹配,是查找输入串中与模式匹配的子串,有则返回true,否则为false。

matches()是全部匹配,是将整个输入串与模式匹配,有则返回true,否则为false。

group方法必须等在find()方法或matches()方法执行匹配后并且匹配成功才能调用,否则报错。group方法用于匹配模式中()内的子串。

group(0)返回正常匹配(忽略模式里的()与模式进行匹配的结果),group(1)去匹配模式里第一个括号里的东西并返回,group(2)去匹配模式里第二个括号里的东西并返回。

猜你喜欢

转载自blog.csdn.net/u010287873/article/details/85040983