Вы можете использовать следующее регулярное выражение .net для проверки предоставленного вами явного примера.
\ W + \ с {1} \ W + * * 1003
Это регулярное выражение состоит из трех частей, слева направо оно читается примерно так - любой символ слова, по крайней мере, один раз, за которым следует только один пробел, за которым следует любой символ слова, по крайней мере, один раз. Таким образом, \ w + представляет любой символ слова хотя бы один раз, а \ s {1} представляет любой символ пробела только один раз.
В случае если кто-то вводит более двух слов, вы можете решить его, используя приведенное выше регулярное выражение, но с добавленным набором группирующих скобок и небольшим количеством кода для построения правильного числа вхождений этого шаблона .
Мы можем взять вышеупомянутое регулярное выражение и расширить его, чтобы искать любое количество вхождений этого шаблона или, другими словами, более двух слов. Например, если у вас есть три слова вместо двух, вам придется реализовать набор группирующих слов, чтобы явно указать, сколько раз этот шаблон должен отображаться в строке.
Например, если у нас есть слово «долина белой змеи» и мы хотим убедиться, что между каждым словом у него только один пробел, вы можете переписать регулярное выражение следующим образом:
(\ W + \ с {1} \ W +) {2}
Мы добавили групповые скобки и заявили, что выражение оценивается как true, только если этот шаблон найден ровно два раза {2}.
Наслаждайтесь!