Этот шаблон будет соответствовать данным примера, но учтите, что \w
сам по себе также может соответствовать di git.
Если вы хотите сопоставить 1 или несколько символов пробела (которые также могут соответствовать символам новой строки), вы можете использовать \s+
вместо пробела.
^\] prima 1 \w+ 2 \w+$
Regex demo
Если вы хотите сопоставить ] prima
, за которым следуют 1 и 2, за которыми сами по себе могут следовать 1 или несколько слов, которые не могут начинаться с di git:
^] prima 1 [^\W\d]\w*(?: [^\W\d]\w*)* 2 [^\W\d]\w*(?: [^\W\d]\w*)*$
^
Начало строки ] prima 1
Буквальное соответствие [^\W\d]\w*
Соответствие слову char не начинается с di git (?: [^\W\d]\w*)*
Повторить 0+ раз, сопоставляя пробел и слово, которое не начинается с di git 2
Буквально [^\W\d]\w*
Соответствие слову char не начать с di git (?: [^\W\d]\w*)*
Повторить 0+ раз, сопоставив пробел и слово, которое не начинается с di git $
Конец строки
Regex demo
Если следующие слова не могут состоять только из цифр, вы можете использовать отрицательный просмотр вперед (?!\d+\b)
проверка только цифр * 1 047 *
^\] prima 1 (?!\d+\b)\w+(?: (?!\d+\b)\w+)* 2 (?!\d+\b)\w+(?: (?!\d+\b)\w+)*$
Демонстрация Regex