Вы хотите проверить строки, которые содержат только буквенные слова, разделенные одним пробелом между ними.
Вы можете использовать регулярное выражение, например
^\p{L}+(?: \p{L}+)*$
Или, если разрешен любой пробел:
^\p{L}+(?:\s\p{L}+)*$
См. Демонстрационную версию regex
Чтобы сопоставить только строки из 3 или более символов, используйте
^(?=.{3})\p{L}+(?:\s\p{L}+)*$
^^^^^^^^
Подробности
^
- начало строки (?=.{3})
= положительный прогноз, требующий любые 3 символа сразу после начала строки \p{L}+
- 1 или более любых букв Unicode (?:\s\p{L}+)*
- ноль или более повторений \s
- любые пробелы \p{L}+
- 1или больше любых символов Unicode
$
- конец строки
Обратите внимание, что если вам нужно использовать его в ASP.NET, используйте только это регулярное выражениедля проверки на стороне server , как на стороне клиента, этот шаблон может быть неправильно обработан с помощью регулярного выражения JavaScript.