文字列内部の、正規表現にマッチした部分を「取得」(置換ではなく…)したいのですが
どのようにすれば良いでしょうか。

たとえば "apple++orange@@-pie" から /([a-z]+)[^a-z]/ にマッチするものを順次取得、
つまり "apple", "orange", "pie" を取得したい、という目的です。