Не проходит последний пункт. Регулярное выражение работает для положительных и для отрицательных чисел. Лишних строк в TreeSet не добавляется. Всех Петровых и Ивановых друг с другом сопоставляет. Добавил проверку на так называемый BOM-символ.