Я пытаюсь сопоставить содержимое, принадлежащее определенному (
и его сопоставлению )
как обнаружено vim при использовании движения %
.
Точнее, я ищу регулярное выражение, которое выглядит как гипотетическое / someKeyword (\ {pair} \ (. * \)) \ {Pair} /
, если бы были такие модификаторы, как \ {pair}
, которая при применении к двум ровно двум символам в регулярном выражении делает второй совпадающим только в том случае, если это скобка, соответствующая первой (%
-в случае).
Шаблон, который я ищу, должен соответствовать внутреннему содержимому первой скобки, следующей за someKeyword
(например, код, с которым он должен работать, всегда правильно заключен в квадратные скобки), как в примерах:
Для someKeyword ("aaa")
подсовпадение будет соответствовать "aaa"
.
Аналогично someKeyword ("aaa)")
будет соответствовать "aaa)"
и someKeyword (("двойной вложенный материал"))
будет match («двойной вложенный материал»)
Но также и в таких случаях, как:
(
someKeyword("xyz"))
, где он должен соответствовать «xyz»
.
Есть ли способ использовать функцию сопоставления скобок vim в регулярных выражениях? А если нет, то какое другое решение может сработать для этого?
Редактировать 1: совпадающее содержимое может занимать несколько строк.