Wie ich Regex gelernt habe | Komentor

Über mich

Ich bin ein leidenschaftlicher Softwareentwickler, der seit 2000 beschäftigt ist und für Unternehmen wie IBM, Amdocs, Volition (THQ), Wolfram, STATS, Nielsen und (derzeit) Truss Holdings gearbeitet hat. Ich bin ein großer Befürworter der naturwissenschaftlichen/technischen Bildung und der Redefreiheit. Meine Freizeit verbringe ich aufgeteilt zwischen meiner Frau und meinen Kindern und trainiere brasilianisches Jiu-Jitsu.

Warum ich Regex lernen wollte

Manchmal brauchen Sie nur ein leistungsstarkes, fokussiertes Werkzeug, um Saiten auseinander zu nehmen. Reguläre Ausdrücke sind genau das. Es gibt ein altes Sprichwort, dass ein Softwareentwickler, der mit einem Problem konfrontiert wird, sagen könnte: „Ich werde reguläre Ausdrücke verwenden“, und deshalb haben sie jetzt zwei Probleme. An dieser humorvollen Bemerkung ist etwas Wahres dran, aber sie täuscht über die Macht regulärer Ausdrücke hinweg. Mit Sorgfalt und Geschick ausgeführt, ist Regex eine mächtige Fähigkeit, die jeder Softwareentwickler besitzen sollte.

Wie ich an das Erlernen von Regex herangegangen bin

Ich habe mit Regex angefangen, wie es wahrscheinlich die meisten Softwareentwickler tun: Ich habe es im Code eines anderen gesehen, den ich im Rahmen meiner Arbeit debuggen/modifizieren musste. Ich begann meine Suche, diese seltsame Sprache zu lernen, indem ich im Internet nach Tutorials und Kurzreferenzen suchte. Heutzutage haben wir viele Websites, die reichhaltige interaktive Anzeigen zum Abgleich von Regex-Mustern bieten (z. B. regexr.com, regex101.com), aber damals kannte ich keine. Also blieb ich bei Muster-Schnellreferenzen, Blog-Beiträgen und meinem eigenen Trial-and-Error im Code hängen.

Herausforderungen, denen ich mich gestellt habe

Es gibt viele Nuancen bei den verschiedenen Implementierungen von Regex, und man muss bei diesen besonders vorsichtig sein. Zum Beispiel behandeln einige Varianten von Regex Zeilenumbrüche in Bezug auf das Musterelement Punkt (.) unterschiedlich. Eine weitere Herausforderung besteht darin, dass komplizierte Regex-Muster schwer zu lesen und zu verdauen sind. Oft musste ich mir Schritt für Schritt Notizen darüber machen, wie eine Regex-Engine verschiedene Muster und Eingaben parst.

Die zentralen Thesen

Das Erlernen von Regex hat mir wirklich etwas gezeigt, das ich wahrscheinlich für selbstverständlich gehalten habe: Je leistungsfähiger das Tool ist, desto mehr Sorgfalt sollte auf sein Verständnis und seine Verwendung verwendet werden. Sie hören viele Horrorgeschichten über schlecht gestaltete reguläre Ausdrücke, die Ingenieuren später viele Kopfschmerzen bereiten. Was der beste Weg zu sein schien, String-Daten auseinanderzunehmen, wurde schnell zu einem eigenen Problem. Ich glaube, dass Regex bestimmte Dinge hat, die es besser macht als alles andere, aber in einem ziemlich engen Anwendungsbereich eingesetzt werden sollte. Es kann zum Beispiel eine lustige Übung sein, ein paar Regex-Muster zu verwenden, um jedes Datenbit von einer großen Webseite zu kratzen, aber es ist im Allgemeinen keine haltbare und stabile Lösung für diese Aufgabe.

Tipps und Ratschläge

Fangen Sie klein an. Probieren Sie einfache Muster auf einer Website wie regex101.com aus und beachten Sie, wie die Website aufschlüsselt, welche Musterelemente mit welchem ​​Eingabetext übereinstimmen und warum. Fordern Sie sich heraus, kompliziertere Muster zu konstruieren. Lernen Sie, Lookahead- und Lookbehind-Muster zu verwenden. Erfahren Sie mehr über gieriges vs. faules Matching.

Abschließende Gedanken und nächste Schritte

Ich versuche jetzt, mein Verständnis einiger der feineren und technischeren Punkte in der Welt der Regex zu festigen, insbesondere die Variationen in den verschiedenen Implementierungen von Regex. Wie immer endet das Lernen nie. Wenn Sie glauben, etwas vollständig verstanden zu haben, haben Sie es wahrscheinlich nur halb geschafft!

Similar Posts

Leave a Reply

Your email address will not be published.