dedlfix: Regulärer Ausdruck

Beitrag lesen

echo $begrüßung;

Mit _einem_? Gar nicht mit dieser Oracle-Funktion, behaupte ich mal. Du hast mehrere Stellen, die unterschiedlich ersetzt werden sollen. Das geht nur dann mit einem Ausdruck, wenn der Gruppierungen zulässt und jede Gruppe einzeln behandeln kann.
ich hatte gehofft, mit den jeweiligen pattern das abzufangen.

Man kann im replace_string Referenzen auf die "subexpressions" angeben, also mit \n auf den n-ten geklammerten Ausdruck Bezug nehmen. Du möchtest bestimmte Zeichen wegschneiden, hast aber kein direktes Muster, dass nur umgebaut werden muss. Das heißt, deine ungewünschten Zeichen stehen überall zwischen den Nutzzeichen. Du kannst beispielsweise einen oder mehrere Buchstaben zwischen zwei Zifferngruppen entfernen, du kannst auf bestimmte Gruppen im Ersatzstring bezug nehmen, aber die Gruppe besteht immer auc nebeneinander liegenden Zeichen. Alle Ziffern, die beliebig verteilt zwischen anderen Zeichen rumliegen, lassen sich nicht mit einer Gruppierung erwischen.

Ich denke, du kommst nicht drumrum für jede Regel eine eigene Behandlung zu verwenden. Kennt Oracle benutzerdefinierte Funktionen?
wird wohl darauf hinaus laufen, ich wollte mir aber noch vorher rat holen, da ich mit regulären ausdrücken noch nicht all zuviel zu tun hatte.

Du wirst mit einem Schritt alle Müllzeichen rauswerfen können. Du wirst aber nicht alle Regeln in einem (weiteren) Schritt abarbeiten können. Mit RegExp kann man Muster finden, die man mit einer Regel behandeln kann, aber RegExp sind nicht dafür gedacht, ein Regelwerk abzuarbeiten.

echo "$verabschiedung $name";