Okay, dann haben wir also in etwa folgenden Algorithmus:
* Nach gleichen Zeichen in allen Beispielen suchen
* Fixe Zeichen mit vorpogrammierten Mustern abgleichen (0x...)
* Abschnitte zwischen diesen fixen Zeichen untersuchen und durch Abschätzen die Zeichengruppe festlegen (unter Berücksichtigung eventueller Überschneidungen mit bekannten Mustern)
Damit kann der Algorithmus IP-Adressen ungefähr erkennen (999.666.555.444 ginge auch, ist aber ungültig) und hexadezimale Zahlen erkennen.
Das Beispiel mit den Kommazahlen funktioniert hingegen nicht.
"3", "3.5" und "4,65" haben keine fixen Zeichen. Zusätzlich muss der Algorithmus optionale Teile berücksichtigen. Er muss erkennen, dass eine oder mehrere (durch Beispiele mit höheren Zahlen) kommt und anschließend ein "." oder "," folgt. Dann wieder Zahlen.
Jetzt seien folgende Beispiele gegeben: "1000", "5901", "400194", "1789999901", "109889", "10".
Als fixes Zeichen würde der Algorithmus die "0" und die "1" erkennen (denn die stecken überall drin). Der Algorithmus würde hier also völlig falsch arbeiten.
Beheben könnte man das, indem fixe Zeichen nicht der restlichen "Gruppe" (Buchstaben, Zahlen, ...) entsprechen dürfen.
Wenn ich aber alle Zeichenketten, die aus Zahlen und mindestens einem "a"s bestehen akzeptieren möchte, besteht das Problem weiter.
Der Algorithmus muss hier also anders funktionieren als oben - und das stelle ich mir schwierig vor.
Quote:
Welches genau meinst du?