Johnny B.: Frage zu RegEx

Beitrag lesen

Hallo geehrtes Forum,

ich habe zwei Strings:

$alle    = '1 2 3 5 6 7 8 9 10 11 12';
$gesehen = '6 11 1';

Jetzt möchte ich $gesehen von $alle 'abziehen', d.h. alle Vorkommen von Zahlen aus $gesehen in $alle löschen, also:

$ergebnis = '2 3 5 7 8 9 10 12';

Bisherige Lösung: ich splitte die beiden Strings zu Arrays, erstelle eine lookup-Tabelle als Hash, prüfe jedes einzelne Vorkommen von $gesehen ab, baue ein neues Array @noch_nicht_gesehen und joine mir daraus den String $ergebnis. Das funktioniert, scheint mir aber ein sehr umständliches Vorgehen zu sein.

Es gibt bestimmt einen eleganten regulären Ausdruck, der das viel schneller und mit viel weniger Code erledigen kann. Ich habe nur leider keinen Ansatzpunkt, wie der aussehen könnte. Hat jemand eine Idee?

Optimierende Grüße
JOhnnY