Экранирование круглых скобок в коде, который необходимо найти и заменить (Sublime Text2)

Я знаю как искать и заменять строки с помощью Sublime Text2, но не при использовании escape-символов.

Для следующего кода javascript кто-нибудь может сказать мне, как здесь избежать круглых скобок?

if(PRODUCTION) console.log("hello world");

var log=function(message){
   if(!PRODUCTION) console.log(message);
};

Следующее не работает, но кажется правильным:

найти: if(PRODUCTION) console.log("(\w+)");

заменить: log($1);

Конечной целью является ведение журнала консоли только в среде разработки, а не в рабочей среде.


person tim peterson    schedule 08.05.2014    source источник


Ответы (1)


Экранируйте специальные символы с помощью обратной косой черты:

Найти: if\(PRODUCTION\) console.log\((".+?")\);

Заменить: log($1)

Обратите внимание, что \w+ не соответствует hello world, потому что \w не соответствует пробелу. Я изменил его на .+?, так что он будет соответствовать чему угодно, пока не появится соответствующая двойная кавычка.

person Barmar    schedule 08.05.2014
comment
Я знаю, что этот бит находится в коде OP, но небольшое улучшение может заключаться в удалении кавычек, поэтому любой вызов журнала консоли заменяется: console.log\((.+?)\) (т.е. console.log(someVar);) - person Juan Pablo Califano; 09.05.2014