Как можно получить из некоторого объема текста все совпадения по вот такому шаблону?
Получить вхождение слова "test1", далее, за ним всё, что можно, любые символы, в любой последовательности, и в любом кол-ве, но только до первого встретившегося слова "test2" или, например, "}}". Символы между этими вхождениями могут быть любыми.
Ну, вот у вас в регулярке указаны символы начала и конца строки. А, если, например, речь о json-строке, а не о тексте в привычном понимании, разделенном предложениями с точками на конце. То есть, в таком формате /^ и $/ не смогут выполнить такое.
Надеюсь, корректно выразился.