Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   экранировка символа в регулярках (https://javascript.ru/forum/misc/29447-ehkranirovka-simvola-v-regulyarkakh.html)

bot87 28.06.2012 10:07

экранировка символа в регулярках
 
Привет:)
Интересует вопрос припустим нужно найти строку "[text]".
Нам нужно экранировать символ "] и [" - "\[" "\]".
Теперь вопрос-откуда и зачем появляется еще один слэш ?
/\\[text\\]/?
Типа экранируем только-что созданный символ "/"?

Skipp 28.06.2012 10:12

\\ - так вы экранируете слеш.
И получается что идёт \ потом перечисление t, e, x, e \, то есть регулярка вернёт true, если строка будет такого вида \t , \e, \x, \\

вам надо /\[text\]/?

Deff 28.06.2012 11:05

bot87,
В регеспах преобразование идет два раза поэтому экранировка дважды
первый раз самого слеша - вторая экранировка уже cкобки
Если экранируем в окончательном выражении - то экранировка одинарная
'[text]'.replace(/\[(text)\]/i,'$1')

Deff 28.06.2012 12:14

Maxmaxmахimus,
Думаю он имеет ввиду это :
var str="[text]"
var regexp = new RegExp("\\[(text)\\]","i")

bot87 28.06.2012 12:37

DEff да то4но :thanks:.


Часовой пояс GMT +3, время: 04:54.