Представьте, нам нужно построить регулярное выражение в vi/vim. Какие специальные символы мы должны экранировать с помощью обратной косой черты?
Под специальными символами я подразумеваю следующие символы: {}|()-[]+*.^$?
Похоже, нам нужно сбежать: {|()+?
И оставить как есть: }^$*.[]-
Спасибо.
p.s. Насколько я знаю, у нас нет '?' символ в vi/vim, но вместо него следует использовать '=', который также должен быть экранирован обратной косой чертой.
\?и\=выполняют одну и ту же работу. Если вы активируете очень волшебный режим, то.?будет означать один или ни одного символа. - person ZyX   schedule 19.03.2011