Если вы хотите запретить 50 пробелов, просто обрежьте содержимое и убедитесь, что оно не пустое?
В любом случае, обратите внимание, что это: [a-zA-Z0-9 _]
записывается короче как [\w ]
Чтобы использовать регулярное выражение, чтобы разрешить только два пробела максимум, вы можете сделать:
^\w+(?: \w+){0,2}$
(Часть (?: )
является группой без захвата, в то время как {0,2}
говорит, что повторяется 2 или 1 или 0 раз.)
Это также потребует, чтобы первый и последний символы не были пробелами.
(Вы можете захотеть что-то немного другое в зависимости от ваших точных правил.)