Я пытаюсь определить строку, которую пользователь может ввести в систему, используя Regex в Java. Строка не должна содержать конечные, начальные или двойные пробелы, но может содержать множество пробелов в имени строки. Он должен содержать только определенный набор других символов, допустимый набор символов ([0-9a-zA-Z_\\+=\\(\\)<>]+)
.
Есть ли способ определить в конце ни один завершающий, начальный или двойной пробел, не используя '\ S', так как это позволит использовать любой символ?
Я попытался заменить двойные пробелы, используя
String file1 = file.replaceAll("\\s{2,}", " ");
, который работает, но затем file1.trim()
или
file1 = file1.replaceAll("^\\s+", "");
file1 = file1.replaceAll("\\s+$", "");
не заменяет пробелы в конце и в начале.