Вроде все работает, а валидатор чего-то не принимает. или я не вижу ошибку?
fileWriter.write(PrintWithFilter(OneLine, "^\\d+\\s", false)); //парсим число в начале строки
fileWriter.write(PrintWithFilter(OneLine, "\\s\\d+\\s", true)); //парсим все числа, что не в конце и не в начале строки
fileWriter.write(PrintWithFilter(OneLine, "\\s\\d+$", false)); //парсим числ
package com.javarush.task.task19.task1908;
/*
Выделяем числа
*/
import java.io.*;
import java.time.temporal.WeekFields;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader ConsoleReader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader fileReader = new BufferedReader(new FileReader(ConsoleReader.readLine()));
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(ConsoleReader.readLine()));
String m = "";
while (fileReader.ready()) {
m = fileReader.readLine();
fileWriter.write(PrintWithFilter(m, "^\\d+\\s", false));
fileWriter.write(PrintWithFilter(m, "\\s\\d+\\s", true));
fileWriter.write(PrintWithFilter(m, "\\s\\d+$", false));
fileWriter.write(" ");
}
fileWriter.close();
ConsoleReader.close();
fileReader.close();
}
public static String PrintWithFilter(String text, String reg, boolean flag) {
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(text);
String result = "";
while (matcher.find()) {
if (flag == true) {
result += text.substring(matcher.start() + 1, matcher.end() - 1);
}
else
result += text.substring(matcher.start(), matcher.end());
}
return result;
}
}