Пробовал на стринге тестовом Не совсем понимаю почему если Pattern pName = Pattern.compile("\\W+ "); То name нормально присваивается и после цикла while ее видно, Если же Pattern pName = Pattern.compile("\\W+") без пробела , то переменную name видно только в цикле while , Вне цикла если выводить name останется пустая.