正規表現に関して質問です。
量指定子を付けるのに、対象を()で囲んでいるのですが、
$1に入れたり戻り値に含めたくない場合はどうすればいいのでしょう?

sにgオプションを付けて置換した対象のリストを得たいのです。
置換後の文字列に元の文字列がそのまま含まれているので、g外してwhileに入れると無限ループになります。