Auch als Mathematik bekannt. Ich hab mich in den letzten Tagen mit diversen C++ Bibliotheken beschäftigt und mich dabei erstmals eingehender mit regulären Ausdrücken auseinandergesetzt. Da kann man so ziemlich alles außer Kaffee kochen, unter anderem eben auch mathematischen Schindluder treiben. Im Informatikstudium stolpert man üblicherweise über die umgekehrte polnische Notation, auch als Postfix bezeichnet (einfach zu verstehen das nicht ist), Infix hingegen ist ohne Regex ziemlich mistig korrekt zu verarbeiten, mit Punkt- vor Strichrechnung und so. Wenn man es dann doch hinkriegt, sowas wie (3*(4+5))-sqrt(4^3)*2.5+1e-5 auszuwerten und in ein Rechenergebnis zu verwandeln ist das mal cool. Braucht man nicht wirklich, gibt es sicherlich auch schon in effektiverer Form, aber es ging ja nur ums Prinzip (siehe Einleitung). Nur den fiesen Spezialfall 2^2^3 muss ich noch korrekt detektieren – ist doch immer gut, wenn man sich selber herausfordernde Aufgaben geben kann…
Edit (12.6. 13:44): Eine kleine Änderung am Regex für die Potenzierungsoption löst das Problem ziemlich elegant. Zeit für neue Aufgaben.
11. Juni 2009, 23:18 Uhr
Wie, du kannst mit regulären Ausdrücken noch keinen Kaffee kochen? Wenn ich das R. erzähle…