2013-05-05 3 views
0

есть краткое регулярное выражение, соответствующее паре parens и проходящей точке, но не содержимое внутри parens. Это для подсветки синтаксиса в Sublime Text 2 с использованием R-Sublime.матч parens, но не содержание

В следующем примере я хочу подчеркнуть (позитивный матч) три символа:.()

Obj[.(var)] 
    ^^ ^ match only these three 

В настоящее время я использую \.\(.+\), который соответствует символам, которые я хочу, но также соответствие содержимого внутри parens (в примере это соответствует .(var)

+0

Если есть функция (например, обратный вызов в матче), вы можете создать, где, как только вы получите совпадение, вы не можете проанализировать полученную подстроку, разделяющую '. (' И ')' и выделяя их? – gillyspy

ответ

1

Нет, если регулярное выражение потребляет любые символы, оно должно потреблять их все в одном непрерывном блоке. Структуры выделения подчеркивания синтаксиса обходят это ограничение, позволяя вам определять сложные правила, начальный и конечный токены, а затем делегат e к другому правилу (или набору правил), чтобы обрабатывать все, что находится между ними. В Sublime Text вы создаете эти вложенные области, определяя Begin-End Rules.

+0

Спасибо, что указал мне в правильном направлении. –