Вы можете использовать
Validators.pattern('\\s*\\S+(?: \\S+)*\\s*') // if at there can be 0 or more leading/trailing whitespaces
Validators.pattern('\\s?\\S+(?: \\S+)*\\s?') // if at there can be 1 or 0 leading/trailing whitespaces
Или, литеральный эквивалент регулярного выражения:
Validators.pattern(/^\s*\S+(?: \S+)*\s*$/) // if at there can be 0 or more leading/trailing whitespaces
Validators.pattern(/^\s?\S+(?: \S+)*\s?$/) // if at there can be 1 or 0 leading/trailing whitespaces
Это будет проанализировано как
^
- началострока (неявно для строкового шаблона, она добавляется автоматически) \s*
- 0+ пробелов \S+
- 1+ непробельных символов (?: \S+)*
- 0 или более повторений пробела, за которыми следуют 1+ непробельных символов \s*
- 0+ пробелов $
- конец строки (неявно для строкового шаблона,оно добавляется автоматически).
Если вы разрешите пробелы между кусками, не являющимися пробелами, замените буквенное пространство на \s
(или \\s
) в шаблонах.