Thread Kommaseparierte Listen bereichsweise ausgeben. (28 answers)
Opened by Gast at 2006-04-14 16:54

sid burn
 2006-04-16 01:34
#64981 #64981
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Hmm, ich bin eher davon ausgegangen, dass man das Programm vielleicht so schreiben möchte, dass es nicht nur auf ein ganz spezifisches Problem passt, sondern genereller verwendbar ist. Es mag ja sein, dass im Moment in den Eingabedaten nur die Variablen a, b, c und d vorkommen, aber es ist doch recht wahrscheinlich, dass bei echten Daten mal jemand auf die Idee kommt, eine Variable x, y, time, height oder was weiß ich wie zu nennen.

Sicherlich könnte das sein, aber irgendwie muss ich mich ja entscheiden. Entweder erlaube ich alles, oder nur das was vorgegeben ist. Wenn man alles erlaubt ist es meistens nicht Möglich dafür eine regex zu schreiben. Wenn ich im Value das Komma erlaube, dann habe ich schon wieder größere Probleme, da ich nichtmehr zwichen key und value unterscheiden könnte. (Bei richtigen CSV Dateien ist das durchaus erlaubt, und einfachas spliten nach einen Komma genügt da nicht) Jedenfalls mit diesen simplen regexen würde das nicht gehen. Genauso habe ich Probleme wenn ich auf einmal text anstatt nur Zahlen erlaube.

Wenn man eine Regex schreibt muss man schon genau Wissen mit welchen Daten man es zu tun hat. Wenn man es nicht weiß und die Daten beliebig abweichen, dann ist es fast unmöglich eine Funktionierende Regex zu schreiben. Auser man kennt alle abweichungen.

Bei der Sache mit den neuen Variablen würde ich dann einfach nur meine Überprüfung, was erlaubt ist anpassen. Ich denke das sollte weniger Kompliziert sein. Aber irgendwie muss man trotzdem einschrenken was erlaubt ist, und was nicht.

So sehe ich das jedenfalls.

Quote
Ich sehe keinen Grund Tipps und Anmerkungen als böse gemeint aufzufassen, eher im Gegenteil. Aber dein Tipp ist leider falsch, denn [,^] matcht auf ein Komma oder einen Circumflex, (?:^|,) macht auf den Anfang des Strings(*) oder ein Komma. Letzteres ist das Verhalten, dass ich programmieren wollte.

Ja da hast du wohl recht. Vielleicht sollte ich 2 mal nachdenken bevor ich etwas Schreibe.

Kann aber Trotzdem noch sagen, dass wenn die Reihenfolge einer Alternativen egal ist, man das Konstrukt zuerst schreiben sollte, was öfters vorkommt. Also dann das Komma mit dem zeilenanfang vertauschen. Das ist zumindest etwas Performanter.\n\n

<!--EDIT|sid burn|1145137369-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Kommaseparierte Listen bereichsweise ausgeben.