IP的正则表达式
((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))
//根据正则表达式,从文本中提取出匹配的字段
public static List<String> extractString(String text,String regularExpression,String separator){
String[] wordsArr = text.split(separator);
List<String> extractList = new ArrayList<>();
Pattern pattern = Pattern.compile(regularExpression);
for (String s : wordsArr) {
Matcher matcher = pattern.matcher(s);
if (matcher.matches()) {
extractList.add(s);
}
}
return extractList;
}
调用
String separator = "\t|\n";
//((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))
String regularExpression = "((?:(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d))))";
String text = "172.20.71.33\t\n172.20.71.32\t\n172.20.71.31\t\n172.20.71.13\t\n172.20.71.14\t\n";
List<String> l = extractString(text,regularExpression,separator);