Reguläre Ausdrücke Praxis - Automaten und formale Sprachen 9 Informatik - simpleclub https://www.youtube.com/watch?v=8KsMSAVS52o Transkript (automatisch erstellt) 0:00 Bonjour, Salut und Bon Voyage! Bereit für en neues Video? 0:03 Ich weiß, dass das letzte Video zu Reguläre Ausdrücke a bisl theoretisch war, aber fürs Verständnis is des erstmal wichtig. 0:09 Aber damit des jetzt en bisl spaßiger wird und man des auch versteht, schauen wir uns in dem Video des alles in der Praxis an. 0:15 Dieses Video soll jetzt allerdings nur vermitteln wofür Reguläre Ausdrücke gebraucht werden. Die Grundzüge zu Regulären Ausdrücken könnt ihr euch im Video davor angucken. 0:24 In der Praxis werden Reguläre Ausdrücke beispielsweise gebraucht um Texte zu durchsuchen und Spammails anhand von bestimmten Suchwörtern zu erkennen. 0:31 Wir schauen uns das jetzt an zwei einfacheren Beispielen an. Damit wir unsere Regulären Ausdrücke jetzt auch testen können, benutzen wir die Seite 0:43 regexe. Zum einen können wir durch dieses Textfeld einen Text eingeben der durchsucht werden 0:48 soll. In dieser Textstellen können wir unseren Regulären 0:58 Ausdruck eingeben mit dem wir den Text durchsuchen. Falls wir unsere gefundenen Zeichenketten jetzt durch andere Zeichen ersetzen wollen, 1:05 können wir das mit dem Textfeld machen. Wenn ihr auf den Hilfe Button drückt, kommt ihr außerdem auf eine Sammlung von Regulären 1:12 Ausdrücken. Diese unterscheiden sich jetzt aber etwas von den theoretischen Ausdrücken, da wir 1:16 ja jetzt mehrere Zeichen verwenden und nicht nur Nullen und Einser. Wir schauen uns jetzt nur en paar neue Begriffe an um mehrere Zeichen bei Regulären Ausdrücken 1:25 darzustellen. Um eine Zeichenklasse zu definieren schreiben wir einfach eckige Klammern. 1:32 Darin schreiben wir jetzt einfach alle Zeichen die erlaubt sind. Wenn wir jetzt a, b und c in eckige Klammern schreiben, heißt das einfach, dass die Buchstaben 1:39 a,b und c erlaubt sind. Heißt also: Das nächste gelesene Zeichen muss a,b oder 1:45 ein c sein. Durch einen Bindestrich kann man außerdem mehrere Zeichen umfassen , ohne jedes Zeichen 1:50 anzugeben. Wenn wir jetzt a bis z in eckigen Klammern schreiben, kann das gelesene Zeichen ein Kleinbuchstabe 1:56 von a bis z sein. Wir können auch ein 0 bis 9 hinschreiben. 2:00 Dann heißt jetzt, dass des nächste gelesene Zeichen, eine Zahl zwischen 0 und 9 sein muss. Um festzulegen wie oft eine Zeichenkette vorkommen darf, kann man diese Menge in geschweiften 2:10 Klammern dahinter schreiben. Wenn wir jetzt sagen wollen, dass als nächstes vier a erkannt werden sollen, schreiben wir 2:16 einfach ein a und dahinter eine 4 in geschweifte Klammern. Für einen Minimal und Maximalanzahl trennen wir die beiden Werte durch ein Komma voneinander. 2:24 Wenn wir jetzt sagen wollen, dass wir mindestens 2 und maximal 8 a erkennen können , schreiben wir ein a und dahinter 2 Komma 8 in geschweiften Klammern. 2:33 So die Grundbegriffe reichen jetzt erst mal um die Beispiele zu verstehen. Weitere Begriffe könnt ihr ja in Googel oder in Regexe nachgucken. 2:41 Jetzt aber zur Praxis. Fangen wir mal mit nem einfachen Beispiel an. 2:45 Wir wollen mit nem regulären Ausdruck überprüfen ob eine gültige Handynummer vorliegt. Wir machens uns einfach und sagen, dass eine gültige Handynummer vorliegt, wenn sie mit 2:54 4 Zahlen anfängt. Dann wird sie durch ein Slash oder einen Spiegelstrich getrennt. 2:59 Danach können beliebig viele weitere Nummern stehen. Allerdings darf die Gesamtlänge der Nummer nicht größer als 15 sein und nach dem Slash 3:07 oder Spiegelstrich muss mindestens ein Zeichen stehen. Wir können nach dem Slash also maximal 11 Stellen anhängen. 3:13 Ein Beispiel für eine korrekte Nummer wäre also beispielsweise 0176/12345678935. So bei unserer Handynummer müssen wir ja jetzt erst mal die vier Ziffern erkennen. 3:26 Zuerst wollen wir erkennen, dass eine Zahl vorliegt. Das machen wir natürlich mit den eckigen Klammern. 3:32 Darein schreiben wir jetzt 0 bis 9. Um jetzt noch zu überprüfen ob eine dieser Zahlen viermal vorkommt , schreiben wir in 3:38 geschweiften Klammern eine 4. Somit werden jetzt die ersten vier Ziffern überprüft und geschaut ob jede Ziffer ne 3:44 Zahl zwischen 0 und 9 ist. Bam, Oida! 3:47 Als nächstes müssen wir schauen ob ein Slash oder ein Spiegelstrich vorkommt. Das Symbol für Oder ham wir uns ja schon im Video davor angeguckt. 3:54 Damit wird jetzt überprüfen können ob ein Slash oder Spiegelstrich vorkommt schreiben wird folgendens. 3:59 So jetzt wird also geschaut ob ein Slash oder Spiegelstrich als nächstes vorkommt. Soweit so gut. 4:05 Jetzt müssen wir noch gucken ob danach 1 bis 11 Zahlen stehen. Das machen wir ähnlich wie oben. 4:11 Wir schreiben erst in eckigen Klammern 0 bis 9 damit wir wieder Zahlen überprüfen können. Es sollen jetzt aber 1 bis 11 solche Zahlen stehen können. 4:18 Also schreiben wir hinter die Klammern noch geschweifte Klammern. Darin schreiben wir jetzt die minimal und maximal Anzahl mit einem Komma getrennt. 4:25 Bei uns steht also 1 und 11 drin. Für die ganze Aufgabe können wir also folgenden Ausdruck schreiben. 4:32 Jetzt werden alle gültigen Handynummern erkannt. Vor dem Slash oder Spiegelstrich müssen also vier Zahlen stehen und dahinter eins bis elf 4:39 Zahlen. Ihr könnt natürlich alle möglichen Nummern in Regexe überprüfen. 4:42 Good Call, Baby Doll! Weil des jetzt soviel Spaß gemacht hat machen wir gleich noch en Beispiel. 4:48 Wir wollen jetzt mit regulären Ausdrücken einen gültigen deutschen Link überprüfen. Ein Link kann mit www und nem Punkt anfangen muss es aber nicht. 4:57 Danach stehen beliebig viele Kleinbuchstaben oder Zahlen. Als Beschränkung sagen wir allerdings, dass der Part nur 1 bis 20 Zeichen enthalten darf. 5:05 Danach wird ein Punkt geschrieben und entweder ein com oder ein de. Also überprüfen wir jetzt zuerst mal unsere Zeichenkette www und den Punkt. 5:14 Das www können wir einfach so hinschreiben. Vor dem Punkt müssen wir allerdings ein Backslash schreiben, da der Punkt in der Regulären 5:21 Algebra heißt, dass alles als Zeichen erkannt wird. Der Backslash sagt also, dass wirklich nur der Punkt als Zeichen vorkommen soll. 5:29 So, dieses www Punkt soll jetzt einmal oder gar nicht vorkommen. Des können wir in Regulären Ausdrücken überprüfen indem wir hinter unser www Punkt 5:38 ein Fragezeichen setzen. Das heißt jetzt einfach, dass www Punkt genau einmal oder gar net vorkommen darf. 5:44 So jetzt schauen wir uns die 1 bis 20 Kleinbuchstaben oder Zahlen an. Für Kleinbuchstaben oder Zahlen können wir das schreiben. 5:51 Somit wird jetzt überprüft ob unsere Ziffer ein Kleinbuchstabe zwischen a und z ist oder eine Zahl zwischen 0 und 9 5:58 Des Oder Symbol brauchen wir dabei in der eckigen Klammer nicht. Da wir jetzt noch überprüfen wollen , ob die Ziffern 1 bis 20 Mal vorkommen benutzen 6:07 wir wieder unsere Minimal und Maximal Werte. So jetzt können diese Ziffern also 1 bis 20 Mal vorkommen. 6:14 Jetzt bleibt noch zuschauen ob jetzt ein Punkt und ein com oder ein de kommt. Da der Punkt auf jeden Fall vorhanden ist, hängen wir wieder en Punkt und den Backslash 6:24 davor dran. Um jetzt zu überprüfen ob ein com oder ein de vorkommt, müssen wir wieder ein oder setzen. 6:30 Links und rechts davon schreiben wir unser de und unser com. Natürlich muss das jetzt alles korrekt geklammert, sein damit keine Fehler passieren. 6:37 Regulärer Ausdruck setzt Klammer ein! Ehm ja... 6:39 So unser gesamter Regulärer Ausdruck sieht jetzt so aus. Wir können jetzt also erkennen ob ein www Punkt oder keins vorliegt. 6:45 Ob 1 bis 20 Zahlen oder Kleinbuchstaben vorkommen. Und ob ein Punkt und de oder ein com vorkommt. 6:51 Ja Nice! Probiert das ruhig mal in Regex gleich aus! 6:54 Soo jetzt noch ne ganz kurze Zusammenfassung. Um Zeichenklassen zu definieren schreiben wir unsere erlaubten Zeichen in eckige Klammern. 7:01 Um nicht alle Zeichen angeben zu müssen, können wir einen Spiegelstrich schreiben. In geschweiften Klammern können wir definieren wie oft ein Zeichen vorkommen darf. 7:09 Durch ein Komma können wir unsere Minimal und Maximalanzahl festlegen. Also Leude! 7:14 Dieses Video war jetzt wirklich nur dafür gedacht um euch zu zeigen, dass reguläre Ausdrücke in der Praxis durchaus genutzt und gebraucht werden. 7:19 Wir sehen uns gleich im nächsten Video! Haut rein!