PHP preg_match необходим для того, чтобы между словами разрешался только ОДИН символ пробела
В основном мне нужен preg_match, который гарантирует, что между каждым словом допускается только один пробел (если есть более одного слова).
Мое существующее правило:
(^[A-Za-z\s]+$)
Благодарю.
3 ответа
Это зависит от того, что вы подразумеваете под "словом", но при условии, что вы имеете в виду буквы в 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}) $