Wir haben ChatGPT verwendet, um die Grammatik und Syntax des Transkripts zu verbessern.
Hallo zusammen! Wow, Sie sind wirklich wach. Vielen Dank, dass ihr hier seid, um mit mir reguläre Ausdrücke zu entmystifizieren. Ich bin mir sicher, dass viele von Ihnen bereits über ein gewisses Wissen darüber verfügen. Dies ist ein Regex-Einführungskurs, und ich sollte anmerken, dass ich mich darauf als "Regex" beziehe. Ich entschuldige mich bei denen, die "regx" oder etwas anderes sagen - ich werde mich hier nicht in die GIF/GIF-Aussprache-Debatte einmischen! Wir können das später diskutieren; ich habe meine eigene Meinung.
Sie können mitmachen, wenn Sie möchten. Diese Sitzung war als Workshop konzipiert, in dem die Teilnehmer sich engagieren und Dinge tun sollten, während wir gehen. Alles ist im GitHub Repo, und ich empfehle Ihnen auch, regex101.com zu öffnen. Ich werde Ihnen das gleich zeigen. Die Folien sind ebenfalls verfügbar, wenn Sie sie also später noch einmal ansehen möchten, können Sie das gerne tun.
Ein paar Hinweise: Sie brauchen keine fortgeschrittenen mathematischen Kenntnisse, um reguläre Ausdrücke zu verstehen. Ja, sie entstammen der mathematischen Theorie, aber man muss kein Matheexperte sein, um sie zu verstehen. Es geht vielmehr darum, sie zu lernen und zu üben. Ich möchte Sie daher ermutigen, sie selbst auszuprobieren, um den Dreh herauszukriegen.
Ich werde Ihnen ein Werkzeug zeigen. Leider habe ich heute nicht die Zeit, jedes Beispiel durchzugehen und Ihnen zu zeigen, wie es funktioniert, aber ich möchte Sie ermutigen, es selbst zu erkunden. Es ist mein Favorit, und das Repo ist dementsprechend strukturiert, mit einer informativen README, Folien von meinem Kollegen Paul, der der ursprüngliche Autor dieses Vortrags ist, und einigen Textbeispielen. Es gibt reichlich Inhalt, also stürzen Sie sich hinein und probieren Sie es aus.
Und was ist das? Oh, ich bin auf einen Demo-Effekt gestoßen - wie lustig! Ich kann meine Folien nicht mehr öffnen, was fantastisch ist. Aber keine Sorge, ich bin ein Profi - versuchen Sie das nicht zu Hause. Oh, es sieht so aus, als würde ich meinen Bildschirm immer noch freigeben - das ist auch gut für die Sicherheit.
Ich bin sicher, dass Sie unbedingt mein Passwort wissen wollen, aber machen wir weiter. Das tut mir leid, Leute. Wenn Sie noch nie einen Live-Absturz gesehen haben, dann bin ich hier, um Ihnen zu helfen.
Reguläre Ausdrücke kommen aus der Mathematik. Im Wesentlichen sind sie eine Möglichkeit, Sprache durch mathematische Gleichungen zu beschreiben. Obwohl sie aus der mathematischen Welt stammen, muss man kein Mathematiker sein, um sie zu verstehen. Und jetzt, da mein Bildschirm wieder normal ist, können wir fortfahren.
Normalerweise dauert diese Präsentation 50 Minuten, aber ich habe nur 35, und ich habe bereits fünf Minuten verloren. Juhu!
Also, ein bisschen Geschichte: Reguläre Ausdrücke wurden 1951 von Stephen Cole Kleene entwickelt. Sie beschreiben Sprache, wie ich bereits erwähnt habe, und sind im Grunde nur eine mathematische Methode, um Sprache zu erklären. Aber was Sie wirklich wissen wollen, ist: Was genau sind reguläre Ausdrücke? Am Ende dieser Sitzung werden Sie verstehen, dass es sich um Zeichenfolgen handelt, die ein Suchmuster angeben. Das ist es, was wir tun: Wir erstellen ein Muster, mit dem wir riesige Textmengen nach bestimmten Stücken durchsuchen können, die uns interessieren.
Es ist wichtig zu wissen, dass reguläre Ausdrücke keine Programmiersprache sind. Sie sind nicht schwer zu erlernen, und ich verspreche Ihnen, dass Sie es schaffen können. Ich habe einen Abschluss in englischer Sprache, und wenn ich sie beherrsche, können Sie das auch. Allerdings sind sie auch nicht die perfekte Lösung für jedes Problem. Manchmal kann die Verwendung regulärer Ausdrücke kostspieliger sein als andere Methoden, z. B. eine einfache SQL-Abfrage. Es ist ein großartiges Werkzeug, aber Sie sind dafür verantwortlich, wie Sie es einsetzen.
Und nun zum Spaß - hier ist der obligatorische Comic, um die Stimmung aufzulockern. Ich lasse Ihnen einen Moment Zeit, sich an der Kunstfertigkeit zu erfreuen.
Wofür können Sie also reguläre Ausdrücke verwenden? Die naheliegendste Verwendung ist die Suche nach Text. Aber wussten Sie, dass Sie reguläre Ausdrücke auch in Google Docs und Word verwenden können? Ja, das können Sie! Sie sind auch für die Validierung von Text nützlich, z. B. für die E-Mail-Validierung. Sie können sie sogar in Excel und Google Sheets verwenden.
Da Sie nun wissen, wo Sie sie verwenden können, lassen Sie uns darüber sprechen, wie man sie einsetzt. Es gibt verschiedene Arten von Zeichen: wörtliche Zeichen, Sonderzeichen, Zeichenklassen, Kurzschriftzeichenklassen - es gibt überall Zeichen! Die Syntax ist das, was den Spaß ausmacht, und wir werden sie alle durchgehen, also halten Sie sich fest, denn es wird schnell gehen.
Wörtliche Zeichen sind ziemlich einfach. Wenn Sie nach "foo" suchen, ist das ein gültiger regulärer Ausdruck. Siehst du, du hast es schon gemacht, ohne es zu merken! Aber warum sollten Sie reguläre Ausdrücke verwenden, wenn Sie nur eine einfache Textsuche benötigen? Lassen Sie uns interessantere Zeichen untersuchen.
Begrenzungszeichen sind weit verbreitet; ich bin sicher, Sie haben sie schon gesehen. Wenn Sie regex101.com besuchen, ist dies die Standardeinstellung. Begrenzungszeichen teilen der Engine mit, wo das Muster beginnt und endet. In PHP zum Beispiel ist der Schrägstrich am gebräuchlichsten. Die verschiedenen Suchmaschinen gehen unterschiedlich damit um, daher sollten Sie immer prüfen, welche Maschine Sie verwenden, da dies Ihre Ergebnisse beeinflussen kann.
Sonderzeichen, auch bekannt als Metazeichen, sind der Hauptgrund, warum Sie heute hier sind. Es gibt 12 von ihnen, und das ist eine ganze Menge! Hier sind sie alle - wir gehen auf jedes einzelne ein.
Zuerst haben wir die Anker. Das Caret (^) ist ein Anker, der den Anfang einer Zeichenkette oder Zeile kennzeichnet. Der reguläre Ausdruck "^The" sucht zum Beispiel nach Zeilen, die mit "The" beginnen. Das Dollarzeichen ($) ist ein weiterer Anker, der jedoch das Ende der Zeile bezeichnet. Sie erhalten nicht die gleichen Ergebnisse, wenn Sie am Anfang oder am Ende der Zeile einen Anker setzen, daher ist es wichtig, dies zu beachten. Die Verankerung trägt dazu bei, dass Ihre Suche effizienter und genauer wird.
Als nächstes kommen die Zeichenklassen. Die öffnende eckige Klammer ([) definiert den Anfang einer Zeichenklasse, mit der Sie einen Bereich von Zeichen angeben können. Zum Beispiel findet "[a-z]" jeden Kleinbuchstaben. Innerhalb einer Zeichenklasse müssen Sie keine Sonderzeichen auslassen, mit Ausnahme einiger weniger, die hier aufgeführt sind.
Ein weiteres Konzept ist die Negation: Wenn Sie das Caret innerhalb einer Zeichenklasse verwenden, werden die darin enthaltenen Zeichen negiert. Zum Beispiel würde "[^a-z]" auf alles passen, was kein Kleinbuchstabe ist.
Kurzschrift-Zeichenklassen, wie "\d" für Ziffern, sind nützlich, um Ihre Muster zu vereinfachen. Es gibt viele Kurzzeichen-Klassen, die Ihre Ausdrücke lesbarer machen können.
Der Punkt (.) ist ein Platzhalter, der auf jedes Zeichen außer einem Zeilenumbruch passt. Zum Beispiel könnte "b.r" auf "bar", "bir", "bur" usw. passen. Verwenden Sie ihn jedoch mit Vorsicht, da er zu unbeabsichtigten Übereinstimmungen führen kann.
Die Pipe (|) steht für Alternation, also "oder". Zum Beispiel: "Katze|Hund" entspricht entweder "Katze" oder "Hund". Die Pipe sucht jedoch nach der ersten Übereinstimmung auf der linken Seite, achten Sie also auf die Reihenfolge Ihrer Ausdrücke.
Mit Quantifizierern, wie dem Fragezeichen (?), dem Sternchen (*) und dem Pluszeichen (+), können Sie angeben, wie oft ein Zeichen oder eine Gruppe vorkommen soll. Zum Beispiel passt "fo?" zu "f" gefolgt von null oder einem "o". Das Sternchen entspricht null oder mehr Mal, und das Pluszeichen entspricht einem oder mehreren Mal.
Schließlich gibt es noch die Gruppierung mit Klammern, die es Ihnen ermöglicht, Teile Ihres Musters zu gruppieren und Quantifizierer oder Alternationen auf die Gruppe anzuwenden. Zum Beispiel passt "(foo|bar)" entweder auf "foo" oder "bar".
Zusammenfassend lässt sich sagen, dass reguläre Ausdrücke ein leistungsfähiges Werkzeug sind, mit dem Sie komplexe Suchen und Textmanipulationen durchführen können. Mit etwas Übung können Sie sie beherrschen und bei Ihrer Arbeit effektiv einsetzen.
Vielen Dank für Ihre Aufmerksamkeit. Ich hoffe, Sie haben heute etwas Wertvolles gelernt.