Vim регулярное выражение с метасимволами внутри скобки - PullRequest
14 голосов
/ 08 сентября 2011

Как найти метасимвол или другой символ в регулярном выражении vim?

Пример: (Я бы хотел, чтобы это совпадало с метасимволом '\ w' или символом '-' 1 или более раз

[-\w]\+

Но это регулярное выражение работает не так, как я надеюсь. Это только соответствует -, W и. Я пытался уйти от '\', но это не сработало.

Я просмотрел документацию vim, но такого примера нет.

Ответы [ 3 ]

13 голосов
/ 08 сентября 2011

Внутри коллекции вы должны использовать специальные классы символов.Следующее выражение эквивалентно вашему:

[-_[:alnum:]]\+

Проверьте :h [:alnum:] (и последующие строки) на наличие полного списка поддерживаемых классов.

4 голосов
/ 08 сентября 2011
\%(\w\|-\)*

Использование группы \%(, поэтому ничего не захватывается. \| для чередования \w и -

или с очень магией, с \v

\v%(\w|-)*
0 голосов
/ 11 января 2014

Существует плагин под названием eregex.vim , который переводит из PCRE в синтаксис Vim, расширяя [\w] до [0-9A-Za-z_], среди многих других вещей, которые он делает.!

требует более тысячи строк vim
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...