Уважаемые старожилы. public static void main(String[] args){ Pattern pat = Pattern.compile("[a-zA-Z]+[0-9]+|[0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+[a-zA-Z]+"); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try{ FileReader fileR= new FileReader(reader.readLine()); reader.close(); StringBuffer buffer = new StringBuffer(); while(fileR.ready()){ buffer.append((char) fileR.read());} String[] s = buffer.toString().split(" "); byte[] b = s[0].getBytes(); for(int i = 0; i< b.length; i++) System.out.println((char) b[i]); Matcher mat; buffer.setLength(0); for(int i = 0; i < s.length; i ++){ mat = pat.matcher(s[i]); buffer.append(s[i] + " "); if(mat.matches()) System.out.print(s[i] + " "); столкнулся с проблемой. Это не код моего решения, а просто направление мысли, чтобы было понятно, что творю. Первый элемент из файла не выводится, хоть и есть цифра. Разбил по байтам и понял что спереди стоят байты -17 -69 -65. Что это? и как от них уйти. Вывод их в консоль такой ￯ ᄏ ﾿ Я изначально думал, что это возврат каретки, но ничего подобного не прошло, как и не прошло ^ в регулярке. Сможете пояснить, буду очень благодарен.