Сопоставление файла синтаксиса ViM с использованием Perl RegEx

А как насчет grep?

grep -oP "(?<=\>).*(?=<)"  file

Выход:

Wallmart
tastes

РЕДАКТИРОВАТЬ:

Следуя комментарию @Toby Speight и предполагая, что между > и < есть только слова, чтобы избежать совпадения > и < в других контекстах, команда должна быть

grep -oP "(?<=\>)\w+(?=<)"  file
0
07.05.2021, 12:41
1 ответ

Следующее соответствие должно делать то, что вы хотите:

syn match noneIndentError /^\( \{4\}\)*\zs \{,3\}/

Используя \zs, вы можете исключить образец перед ним из сопоставления, так что это более простой способ написать нулевую -ширину взгляда -вокруг (это похоже на\Kв Perl). Тогда он соответствует до 3 пробелов.

Вот как это соответствует различным строкам:

      foo #
   bar
     
    
        baz

  1. 6 пробелов и текст
  2. 3 пробела и текст
  3. 5 мест
  4. 4 пробела
  5. 8 пробелов и текст
2
28.07.2021, 11:33

Теги

Похожие вопросы