Это регулярное выражение даст вам IP с дополнительным портом.Если всегда есть порт, удалите вопросительный знак в конце строки.
\d{1,3}(?:\.\d{1,3}){3}(?::\d{1,5})?
Обратите внимание, что это упрощенная проверка IPv4, и она будет соответствовать только тому, что это правильный формат, а не правильный,И не забудьте добавить дополнительную обратную косую черту, чтобы избежать каждой обратной косой черты в Java.
Вот пример в Java:
String text = "46.102.241.199:3128 0.2990 Transp. NN N 100% 2011-11-19 17:56:02";
String pattern = "\\d{1,3}(?:\\.\\d{1,3}){3}(?::\\d{1,5})?";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(text);
while (matcher.find()) {
System.out.println(matcher.group());
}
Вывод:
46.102.241.199:3128