RegEx, чтобы выбрать часть матча - PullRequest
0 голосов
/ 19 февраля 2019

Я использую gvim для редактирования документа.Выдержка из документа:

ST*123*foo
WIL*ST*bar
Z91*R*Station

Используя регулярное выражение, я хотел бы выбрать ST во второй строке, где он существует между двумя * (а не в началелинии), поэтому я могу выделить его определенным цветом.

Я думал, что \*ST\* может работать, но он выбирает * s, что мне не нужно.Я также попробовал (безрезультатно) несколько вариантов {}, пытаясь выбрать x символов из моего выбора.

1 Ответ

0 голосов
/ 19 февраля 2019

Вам понадобится использовать предвидение и утверждение с видом сзади:

/\v(\*)@<=ST(\*)@=

Детали:

  • \v: очень волшебно, чтобы избежать чрезмерногоescapeing
  • (\*)@<=: взгляд назад, чтобы утверждать, что у нас * позади
  • ST: матч ST:
  • (\*)@=: взгляд вперед, чтобы утверждать, чтоу нас * впереди
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...