0
我需要從IP地址(C類)中提取前三個八位字節,我可以通過在"//."
上拆分來完成。但有沒有辦法使用REGEX做到這一點。從IP地址提取前三個八位字節
輸入:192.168.1.1
輸出:192.168.1
我需要從IP地址(C類)中提取前三個八位字節,我可以通過在"//."
上拆分來完成。但有沒有辦法使用REGEX做到這一點。從IP地址提取前三個八位字節
輸入: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}).*");
真的很好的正則表達式教程here。