xmlで
------------------------
<qqq>
  <abc>123</abc>
  <rrr>aiueo</rrr>
  <abc>456</abc>
</qqq>
------------------------
というような構造のとき、
<qqq>の中の文字列を取り出し
それに対して
/<abc>([^&]+)<\/abc>/
でマッチング処理を行うと、
------------------------
123</abc>
  <rrr>aiueo</rrr>
  <abc>456
------------------------
という結果になってしまいます。
一つ目の<abc>123</abc>に正しく反応させたいのですが
どのようにすればよいのでしょうか。
よろしくお願いいたします。

※マッチング処理の際の
 /<abc>([^&]+)<\/abc>/
 のabc部分は可変です。