Вимм-поиск

У меня есть файл, который <a href="blah.com" rel="blahblah" style="textdecoration:none;">blah</a>

Я хочу совместить rel="blahblah"

но когда я делаю \rel=".*", он соответствует rel="blahblah" style="textdecoration:none;"

Я пробовал rel=".*\{-\}", но это дает ошибку nested \{

Ответ 1

Вы можете использовать:

rel=".\{-}"

\{-} используется для non- жадного соответствия в VIM

Ответ 2

Попробуйте [^"] вместо .. Последний является "жадным" и будет соответствовать как можно большему количеству символов.

[d-r13579] в регулярных выражениях используется для соответствия "классам символов": в этом случае любая маленькая буквенная буква в диапазоне от d до r или нечетная цифра. Если вы начинаете класс с ^, то это отрицает значение.

Таким образом, [^"] означает символ, кроме двойной кавычки, а "[^"]*" означает две двойные кавычки с любым количеством произвольных символов между ними, кроме двойных кавычек.

Ответ 3

По умолчанию регулярные выражения являются жадными.

  s".\{-}"/aaaaaaa/

работает для меня

{-} означает короткое замыкание выражения, соответствующего кратчайшему.

Ответ 4

Я считаю, что использование \{-} запутывает, поэтому в таких случаях я обычно буду использовать что-то вроде "[^"]*".