Regexe sind zwar für die meisten schnell-und-dreckig Anwendungsfälle phänomenal nützlich aber insgesamt gesehen immer nich sehr eingeschränkt, was die parsebaren Sprachen angeht.
Ob härtere Geschütze aufgefahren werden müssen, merkt man meist, wenn das mit den Regexen absolut schmerzhaft wird oder gar nicht mehr so recht klappen will (versuch z.B. mal, einen Regex zu schreiben, der Worte der Form 0…01…1 erkennt, wobei die Anzahl der 0er und 1er gleich ist; diese Sprache ist nämlich nicht regulär und ohne Regex-Erweiterungen gar nicht über Regexe erkennbar). Eine solche Eskalationsstufe stellen PEGs dar. Falls das nix bringt kann man immer noch mit lex und yacc sich nen eigenen parser generieren lassen aber in die Situation kommt man eher selten.
In diesem Sinne viel Spaß mit regulären Ausrücken, mögen sie dir bei den nächsten Codierherausforderungen das Leben vereinfachen!
Regexe sind zwar für die meisten schnell-und-dreckig Anwendungsfälle phänomenal nützlich aber insgesamt gesehen immer nich sehr eingeschränkt, was die parsebaren Sprachen angeht.
Ob härtere Geschütze aufgefahren werden müssen, merkt man meist, wenn das mit den Regexen absolut schmerzhaft wird oder gar nicht mehr so recht klappen will (versuch z.B. mal, einen Regex zu schreiben, der Worte der Form 0…01…1 erkennt, wobei die Anzahl der 0er und 1er gleich ist; diese Sprache ist nämlich nicht regulär und ohne Regex-Erweiterungen gar nicht über Regexe erkennbar). Eine solche Eskalationsstufe stellen PEGs dar. Falls das nix bringt kann man immer noch mit lex und yacc sich nen eigenen parser generieren lassen aber in die Situation kommt man eher selten.
In diesem Sinne viel Spaß mit regulären Ausrücken, mögen sie dir bei den nächsten Codierherausforderungen das Leben vereinfachen!