Вот моя тестовая строка, которую я пытаюсь записать с помощью ruby:
<?lang
this_should_be_captured();
and_also_this();
and_this();
?>
this text should NOT be captured
<?lang this_should_also_be_captured(); ?>
Когда я использую это регулярное выражение:
(<\?lang(\n|.)*\?>)
Совпадение захватывает все (включая часть, которая мне не нужна: «этот текст НЕ должен быть захвачен»), как показано на http://rubular.com/r/qSOOzq6HAx.
Как я могу правильно захватить два разных блока, не захватывая то, что мне не нужно?