[英]Extract first three octet from IP address
我需要从IP地址(C类)中提取前三个八位位组,并且可以通过分割"//."
来做到这一点"//."
。 但是有没有办法使用REGEX做到这一点。
输入: 192.168.1.1
输出: 192.168.1
像这样:
/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/
使用匹配就可以了。
对于Java更精确:
Pattern p = Pattern.compile("([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3}).*");
Matcher m = p.matcher("127.0.2.13");
if (m.matches()) {
String s0 = m.group(1); // contains "127"
String s1 = m.group(2); // contains "0"
String s2 = m.group(3); // contains "2"
System.out.println("s0 + "." + s1 + "." + s2);
}
这个稍微更简单的模式也可以工作:
Pattern p = Pattern.compile("(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3}).*");
真正的正则表达式教程在这里 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.