joeker
Goto Top

Regulärer Ausdruck für Anzahl bestimmter Buchstaben

Hallo, ich tüftel schon eine lange Zeit an einem kleinen Programm, das Dezimalzahlen in römische Zahlen umwandeln soll und umgekehrt. Das eigentliche Umrechnen funktioniert schon längst, aber bei der Prüfung der Benutzereingaben haperts etwas.
Ich bin gerade dabei herauszufinden, wie man mithilfe von regulären Ausdrücken einen Buchstaben (z.B. "I") zählt und prüft wo es sich gerade befindet.

Folgenden AUsdruck habe ich estellt:
preg_match("/([I]{3,})|([XV](i{1,}))/", $value, $max_i);

das "I" darf insgesamt 3 mal und maximal 1 mal hinter V bzw. X stehen, ansonsten ist die Eingabe inkorrekt. Dieser Ausdruck klappt leider nicht, wie ich es mir wünsche, deshalb wollte ich euch um Hilfe bitten.
Meint ihr, ich sollte pro Anweisung eine preg_match-Funktion verwenden oder mehrere?!


Danke im vorraus!

Content-Key: 103153

Url: https://administrator.de/contentid/103153

Printed on: May 4, 2024 at 18:05 o'clock

Member: Saneke
Saneke Dec 08, 2008 at 12:42:12 (UTC)
Goto Top
ich würde das problem vollkommen anderst angehen.
zuerst mit "substr" aufteilen in einzelne variablen, oder in ein array. danach die überprüfung starten.

gruss Dani
Member: joeker
joeker Dec 08, 2008 at 15:55:37 (UTC)
Goto Top
Das habe ich mir auch schon überlegt, doch wie soll man prüfen, welcher Buchstabe vor einem oder nach einem ist.
Und außerdem habe ich das Problem mit der Anzahl schon behoben, aber leider kommen immer weitere Probleme auf... sind nur schwierig zu beschreiben ;)

Trotzdem danke!