Skip to main content


Ich werde auf der FrOSCon einen Workshop über Reguläre Ausdrücke halten.

Was würdet Ihr wissen wollen? Welche Beispiele würdet Ihr mit regulären Ausdrücken lösen wollen?

Unterschiede Perl, Python, Bash, PHP. Und welche Libraries es da gibt...

Darauf wollte ich nur kurz eingehen. Im Workshop soll es vor allem um das selber Anwenden gehen und da hatte ich als Minimalvorstellung grep (weil es alle drei grossen kann) und sed für die Manipulation.

Danke, davon habe ich bereits einiges auf dem Zettel, insbesondere BRE/ ERE/ PRE.

Greediness ist noch ein Thema, IP-Adressen parsen, ist eine gute Idee, hatte ich bis jetzt nicht auf dem Plan, Logs sind ein Thema, Gruppierungen und Rückbezüge ein weiteres.

Mailadressen RegEx wollte ich zur Abschreckung zeigen. Um die Komplexität zu verstehen, muss man den RFC gut verstanden haben.

@Dirk Deimeke Alle 3 Beispiele sind Fangfragen, weil es Dinge sind, die man nur mit Regexen nicht oder nicht schön hin bekommt. Es sind Dinge, bei denen man über die Grenzen von Regexen und das Grenzland zwischen Lexer und Parser reden kann.

Grenzen von IPv4-Zahlen kann man zum Beispiel mit Regexen lexen, aber dann sollte man die vier gefundenen Strings atoi()en und numerisch die Bereiche checken. Und gegen CSV hilft nur ein korrekter Parser, da geht es nicht sehr um Regexe, die machen nur Schmerzen.

Das soll ja für Einsteiger sein, ich wollte durch den ganzen Workshop alle drei Familien "mitschleppen", auf Engines oder Implementationen gehe ich nur am Rande ein.

Also: BRE / ERE / PRE bzw. PCRE mache ich und die Engines überfliege ich nur.

Yip, es ist ja ein Workshop.

Meinst Du, dass man das in zwei Stunden hinbekommt? Von null auf "html parsing"?

Einer meiner früheren Chefs mochte nie Bibliotheken nachinstallieren, er hat einen json-Parser in Bash geschrieben. Kann man machen, ist aber ziemlich bescheuert.

Praktische Beispiele, in denen ein Python string.replace nicht ausreicht, z.B. wenn in einem langen String Beginn-Ende Ketten mit variablem Zwischenstring ausgetauscht werden müssen. Hatte ich heute erst, als ich Meistertask Exporte in Markdown umwandeln musste.

ich denke nicht das man HTML mit regex parsen sollte 😂