в основном мне нужен preg_match, который гарантирует, что между каждым словом допускается только один пробельный символ (если имеется более одного слова).
Мое существующее правило:
(^[A-Za-z\s]+$)
Благодарю.
Это зависит от того, что вы подразумеваете под словом «слово», но при условии, что вы имеете в виду буквы в AZ или az, вы можете попробовать следующее:
^[a-zA-Z]+( [a-zA-Z]+)*$
Обратите внимание, что \s
не означает символ пробела – это означает любые пробелы, включая новую строку.
/^[\S]+\s?[^\s]?/i
Будет искать любое слово с одним пробелом после него, а не пробел после этого одного места
/\s?\S+\s/
Будут искать любой символ с пробелами с обеих сторон или только в конце.
я думаю, чтобы указать количество вхождений в ваш матч, который вы положили, то есть {1} {1,5} (для соответствия только 1 или от 1 до 5 включительно), поэтому что-то вроде …
^ [A-Za-z] + ({1}) $