Сопоставление заключенного в скобки блока с использованием регулярных выражений в vim

Я пытаюсь сопоставить содержимое, принадлежащее определенному ( и его сопоставлению ) как обнаружено vim при использовании движения % .

Точнее, я ищу регулярное выражение, которое выглядит как гипотетическое / someKeyword (\ {pair} \ (. * \)) \ {Pair} / , если бы были такие модификаторы, как \ {pair} , которая при применении к двум ровно двум символам в регулярном выражении делает второй совпадающим только в том случае, если это скобка, соответствующая первой (% -в случае).

Шаблон, который я ищу, должен соответствовать внутреннему содержимому первой скобки, следующей за someKeyword (например, код, с которым он должен работать, всегда правильно заключен в квадратные скобки), как в примерах:

Для someKeyword ("aaa") подсовпадение будет соответствовать "aaa" . Аналогично someKeyword ("aaa)") будет соответствовать "aaa)" и someKeyword (("двойной вложенный материал")) будет match («двойной вложенный материал»)

Но также и в таких случаях, как:

(
  someKeyword("xyz"))

, где он должен соответствовать «xyz» .

Есть ли способ использовать функцию сопоставления скобок vim в регулярных выражениях? А если нет, то какое другое решение может сработать для этого?

Редактировать 1: совпадающее содержимое может занимать несколько строк.

9
задан Dan 28 February 2011 в 07:37
поделиться