Как проверить, соответствует ли строка шаблону в vim - PullRequest
2 голосов
/ 27 марта 2019

Я пытаюсь написать выражение сгиба, но не могу заставить работать регулярное выражение.

Строка, которую я хочу проверить, и регулярное выражение:

# -- Heading 1 --
^.*-{2}\s([\_a-zA-Z0-9]\s*)+\s-{2}$

какой синтаксис я использую для проверки? Я пытался: (казалось, не работает)

if match(line , "\v regex") >= 0 if line =~ "\v regex"

1 Ответ

2 голосов
/ 27 марта 2019

Вы можете использовать либо match(), либо =~, но регулярное выражение неверно.

Существует много догадок, поскольку я не знаю всех потенциальных входных данных, но я думаю, что вы имели в виду:

^.*-\{2}\s\%([_a-zA-Z0-9]\+\s\)\+-\{2}$

Или немного другой вариант с использованием классов символов:

^\v.*-- [_[:alnum:][:blank:]]+--$

Или, возможно, с использованием отрицательной коллекции (соответствует любому символу, кроме -):

^\v# -- [^-]+ --$

Сходи с ума!

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