Правая квадратная скобка в регулярном выражении, не может быть экранирована?
Я использую клише и регулярные выражения для ввода параметров. http://clish.sourceforge.net/clish-0.7.3/group__clish__ptype.html
Я белый список символов, таких как:
pattern="[a-zA-Z0-9\!\[\£\$\%\/\^\_\+\=\#\@\;\,\|\*\{\}\(\)\~\.\>\<\&\-]+"
Это отлично работает, я могу ввести любой из указанных символов. Однако, если я добавлю \]
или же \\]
избежать правой квадратной скобки это не работает. Это соответствует [
и поэтому не может быть введен, ничего после ]
, Любые идеи, как избежать этого, чтобы войти ]
как действительный персонаж? [
работает отлично.
1 ответ
Попробуйте этот шаблон
pattern="[][a-zA-Z0-9!£$%/^_+=#@;,|*{}()~.&-]+"
Закрывающая квадратная скобка букв должна быть на первой позиции в классе символов, чтобы избежать неоднозначности с закрывающей квадратной скобкой, которая закрывает класс символов (поскольку пустой класс символов не допускается). Вы можете поставить открывающую квадратную скобку в любом месте (очевидно, не в первой позиции или после -
)