PHP preg_match необходим для того, чтобы между словами разрешался только ОДИН символ пробела - PullRequest
3 голосов
/ 26 ноября 2010

В основном мне нужен preg_match, который гарантирует, что между каждым словом допускается только один пробел (если есть более одного слова).

Мое существующее правило:

(^[A-Za-z\s]+$)

Спасибо.

Ответы [ 3 ]

5 голосов
/ 26 ноября 2010

Это зависит от того, что вы подразумеваете под «словом», но, предполагая, что вы подразумеваете буквы в AZ или az, вы можете попробовать это:

^[a-zA-Z]+( [a-zA-Z]+)*$

Обратите внимание, что \s означает не означаетсимвол пробела - это означает любой пробел, включая новую строку.

2 голосов
/ 26 ноября 2010
/^[\S]+\s?[^\s]?/i

Будет искать любое слово с одним пробелом после него и без пробела после этого одного пробела

/\s?\S+\s/

Будет искать любой символ с пробелами по бокам или только в конце.

1 голос
/ 26 ноября 2010

Я думаю, чтобы указать количество вхождений в ваш матч, который вы поставили, т. Е. {1} {1,5} (для соответствия только 1 или от 1 до 5 включительно), так что-то вроде ...

^[A-Za-z] + ({1}) $

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...