Друзья привет! Проверял на десятказ комбинаций, все работает как надо, однако валидатору не угодить.
Подскажите, пожалуйста, где я ошибся?
package com.javarush.task.task19.task1908;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Выделяем числа
*/
public class Solution {
public static void main(String[] args) {
String filename1 = "";
String filename2 = "";
Pattern p = Pattern.compile("[^а-яa-zA-ZА-Я]\\d+([^а-яa-zA-ZА-Я]|$)");
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))){
filename1 = br.readLine();
filename2 = br.readLine();
}
catch (Exception e){ }
try (BufferedReader br = new BufferedReader(new FileReader(filename1));
BufferedWriter bw = new BufferedWriter(new FileWriter(filename2))) {
String line;
String finString = "";
List <String> list = new ArrayList<>();
while ((line = br.readLine())!= null){
Matcher matcher = p.matcher(line);
while (matcher.find()){
list.add(line.substring(matcher.start(), matcher.end()).replace(" ", ""));
}
}
for (String s : list) {
finString = finString.concat(s + " ");
}
finString = finString.trim();
bw.write(finString);
}
catch (Exception e){
//System.out.println(e.getMessage());
}
}
}