2016-11-04 2 views
1

У меня есть регулярное выражение, которое не позволяет использовать некоторые специальные символы.Disallow Whitespace Regex

^[^<>`~!/@\#}$%:;)(_^{&*=|'+]+$ 

Теперь я хочу знать, как я могу изменить его, чтобы запретить пробелы. Я попытался следующие, но не работает

`^\S[^<>`~!/@\#}$%:;)(_^{&*=|'+]+$` 
+0

Вы можете добавить пробел в свое регулярное выражение - '^ [^ <> \' ~!/@ \ #} $% :;) (_^{& * = | '+] + $ '(или '\ s', если вам нужно запретить все пробелы -'^[^ <> \ '~!/@ \ #} $% :;) (_^{& * = | '+ \ s] + $') –

+0

Работы, можете ли вы задать вопрос, чтобы я мог отметить его? –

ответ

1

Чтобы запретить любой пробел в строке, добавьте \s к классу символов:

^[^<>`~!/@\#}$%:;)(_^{&*=|'+\s]+$ 
          ^^ 

Узор теперь будет соответствовать:

  • ^ - начало строки
  • [^<> ~!/@ #} $% :;) (_^{& * = | '+ \ s] + - 1 or more (due to + at the end) characters *other than those* (as it is a negated character class due to [^ ...] `обозначение), определенное в классе символов
  • $ - конец строки.