Hallo geehrtes Forum,
seit langem komme ich mal wieder zum Programmieren und sogleich sind sie wieder da, die ungelösten Rätsel aus den Tiefen der RegEx-Maschine:
my $tel = '0 (1 77) / 987 65 43';
$tel =~ s/(\d)[()\/\- ]+(\d)/$1$2/g;
Ergebnis: 01 779876543
Gewünschts Ergebnis: 01779876543
Ich kann mir denken, daß der RegEx die Ziffer 1 nach der Klammer bereits verbraucht hat und als nächstes ein Leerzeichen einliest, damit also nicht trifft.
Erreichen möchte ich, daß alle zwischen zwei Ziffern stehenden Zeichen ()/- und Leerzeichen gelöscht werden.
Ist mein Ansatz nicht zielführend, oder gibt es eine Möglichkeit, die RegEx-Maschine dazu zu bewegen, den letzten Treffer wieder zu vergessen?
Grübelnde Grüße
JOhnnY