/**
* ===从字符串中提取ip===
* \w 表示A~Z,a~z,0~9,_中任意一个
* \W 取反
* \\d{1,3} 只匹配数子且最少1位,最多3位
* (?=\\d) 预搜索,=后面跟的是表达式,?=后面是,?!后面不是,?<=前面是,?<!前面不是
* + 表示一个或多个字符|集合|捕获组 a [a-z] ()
* \\. .
*/
public static String pickIp(){
String regular = "\\d{3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
//或者下面的方式都可以
//String regular = "(?<=//|)((\\w)+\\.)+\\w+";
String str = "IPMI接入交换机6(172.201.130.15)";
return patternTool(regular, str);
}
public static String patternTool(String regular,String str){
Pattern pattern = Pattern.compile(regular);
Matcher matcher = pattern.matcher(str);
if (matcher.find()){
return matcher.group();
}
return "不匹配";
}