Grep regexp in array?

Hallo miteinander

Ich möchte gerne die einzelnen Token in ein Array (oder in mehrere Variablen) übergeben. Geht das irgendwie?

Ich habe momentan folgendes - was auch funktioniert.

string:
s=„0100000900902>902698888200000021294820097+ 010025943>„regexp:
r=“^(0[1|3|4])([0-9]{10}|{0})([0-9]{1})>([0-9]{27}|{16}|{9})+[:space:]>$“

ref=echo "$s" | grep -E -o "$r"

„In anderen Programmiersprachen“ werden die regexp Werte in Klammern in einzelne Elemente übergeben. Geht das irgendwie mit der Bash?
Also beispielsweise möchte ich dann die Variabel $ref als $ref[0], $ref[2], … ansprechen.

Grüsse
Oliver

… hier noch ein Lösungsansatz den ich verfolgt habe:

a=($(grep -E -o „$regex“ „$tmp“))

echo „----“
echo ${a[0]}
echo ${a[1]}
echo ${a[2]}
echo „----“

Das befüllt leider nur a0 und a1.

Grüsse
Oliver