我需要从IP地址(C类)中提取前三个八位字节,我可以通过拆分"//."
来完成。但有没有办法使用REGEX。
输入:192.168.1.1
输出:192.168.1
答案 0 :(得分:1)
这样的事情:
/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/
使用匹配并完成..
答案 1 :(得分:0)
更准确地说是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}).*");
非常好的正则表达式教程here。