2013-08-09 2 views
4

Мне нужно ограничить строку, чтобы разрешать буквы, цифры, дефисы, амперсанды, апострофы и отдельные пробелы.Regex - разрешать только пробелы внутри строки

От немного поисков я получил это до сих пор:

^[A-Za-z0-9-'&\s]{1,}$ 

Но это позволяет двойные пробелы. Как написать регулярное выражение так, чтобы оно допускало только одиночные пробелы (может быть, вообще не было)?

ответ

7

Матча любые из других допустимых значений, а затем дополнительный пробел:

^\s?([A-Za-z0-9-'&]\s?){1,}$ 

(я также добавил дополнительные один в начале, если это разрешено)

+0

Works отлично, спасибо. – HotblackDesiato