Coderweisheiten
Montag, 1.8.2011, 15:37 > daMaxDu weißt Dein Tag war erfolgreich, wenn auf Deinem Bildschirm diese Zeichenfolge steht und sie die Spezifikation erfüllt:
^([A-Z0-9]{3}|[A-Z0-9]{2}\*{1})([+|\-|/][0-9A-Z]{3}){0,}$|^([A-Z0-9]{3}|[A-Z0-9]{2}\*{1})[+-]\(([0-9A-Z]{3}){1}([+|\-|/][0-9A-Z]{3}){0,}\)$
Regular Expressions - Separating boys from men since the 1960s.
PS: ja, ich hätte auch {*} anstelle von {0,} schreiben können, aber damit kommt der RegEx-Coach nicht klar (warum auch immer)...
Warum hast du in dieser Klasse [+|\-|/] den Senkrechtstrich zweimal drin? Und du musst das Minus in Klassen nicht escapen, wenn du es an das Ende oder an den Anfang der Klasse setzt. Außerdem könntest du den ersten Abschnitt ([A-Z0-9]{3}|[A-Z0-9]{2}\*{1}) "ausklammern".
@Daniel Baulig, mit den Escapes hast du recht. Den ersten Ausdruck will ich haben weil entweder ABC+ABC-ETC gelten soll oder ABC+(BLA-BLA+BLA+ETC) gelten soll. Ich will den Anwender quasi zwingen, eine einmal geöffnete Klammer auch wieder zu schließen. Das geht wahrscheinlich auch eleganter, aber ich check das mit Forward- und Backward-References noch nicht so richtig
@Daniel Baulig, ausklammern, dann kann man auch das ^ und das $ mal rausnehmen. aber keine ahnung ob das dann schneller oder langsamer wird..
aber mal so ganz generell, wenn max das so in den code einbaut, versteh ich sofort, warum er nach köln abhauen muss
@fronti, pff.
Den Coach hatte ich auch einmal ganz kurz angeschaut... aber kennst du regexbuddy? Nichts hat mir in meinem (berufs)Leben auch nur im Ansatz so viel Zeit gespart wie dieser Knaller.
... and girls from nerds
Kudos. Ich erhöhe auf
Was das Verständnis von REs diverser Geschmacksrichtungen unter Geschwindigkeits- und anderen Gesichtspunkten angeht, kann ich das Buch von Jeffrey E. F. Friedl empfehlen.
@Moss, ach du Scheiße, das blick ich nu endgültig nich mehr
@Daniel, nee das kannte ich noch nicht. Ich bezweifele allerdings, dass mein Arbeitgeber bereit sein wird, dafür Kohle springen zu lassen... sollte ich allerdings in die Verlegenheit kommen, doch öfter als 1x im Jahr mit regex zu tun zu bekommen, werde ich darauf zurück kommen. Danke für den Tipp.
@Moss, was denkst du was fuer ein buch er seit heute morgen auf dem schreibtisch liegen hat..
@daMax: Hab’ ich auch lange dran gebastelt. Das ist eines der Ersetzungsmuster, mit denen ich hier Texte traktiere. Mit dem zitierten werden (vorbearbeitete) Autorennamen in Bibliographien in «\textsc{…}» (LaTeX: Kapitälchen) gepackt und jeweils in eine eigene Zeile gesetzt, unter Berücksichtigung von TeX-Akzenten und -Umlauten und einigen Zeitschriftennamen (die das gleiche Format haben könnten).
Muß man nicht verstehen.