Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Grundlagen der Programmierung: Basiswissen

Reguläre Ausdrücke

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Reguläre Ausdrücke können bestimmte Benutzereingaben in Formularen auf ihre Richtigkeit überprüfen. Dabei wird die eingegebene Zeichenkette mit einem vordefinierten Muster verglichen.

Transkript

Zeichenketten haben eine Reihe von Möglichkeiten, wie ich mit ihnen arbeiten kann. Ich kann bspw. die Länge testen von einer Zeichenkette. Ich kann aus einer Zeichenkette einzelne Teile herausnehmen, sie neu zusammensetzen. Aber manchmal wäre es auch hilfreich, wenn ich in eine Zeichenkette hineinsehen kann, wenn ich bspw. überprüfen kann: Handelt es sich bei einer Zeichenkette um eine URL oder um eine E-Mail-Adresse oder auch um eine Postleitzahl. Und genau dafür gibt es reguläre Ausdrücke. Reguläre Ausdrücke gibt es in vielen Programmiersprachen. In den meisten werden sie auch sehr ähnlich gehandhabt. Aber ich kenne eigentlich wenige Programmierer, die reguläre Ausdrücke irgendwie witzig finden oder schön finden oder denen die Augen leuchten, wenn man sagt: "Wir müssen hier mit einem regulären Ausdruck arbeiten." Aber sie sind nützlich. Reguläre Ausdrücke schauen wir uns jetzt mal genauer an. Sie haben zwei Teile. Zum Ersten muss ich zunächst mal eine "expression" erzeugen, also irgendein Testmuster, auf das ich eine Zeichenkette hin überprüfe. Dann sieht die Arbeit meistens so aus, dass ich sie anwende und schaue, ob es eben Treffer gibt. Ob bspw. ein bestimmtes Muster auf eine übergebene Zeichenkette übertragen werden kann. Wie erzeuge ich jetzt so einen regulären Ausdruck in JavaScript? Indem ich eine Variable erzeuge, hier "my regular expression"."regular expression" ist der englische Begriff dafür. Und dann schreibe ich "= hallo", und ich mache Schrägstriche vorne dran. Diese Schrägstriche sind ein Zeichen dafür, dass es sich hier um einen regulären Ausdruck handelt. Beachten Sie, hier habe ich keine Anführungszeichen außen rum, denn die Funktion der Anführungszeichen wird von den Schrägstrichen übernommen. Eine andere Variante ist, ich mache es mit dem Schlüsselwort "new", und dann schreibe ich "RegExpr" für "regular expression". Wichtig, sowohl das R als auch das E sind in dem Fall groß. Dann übergebe ich an dieses Objekt das Argument "hallo" und hier habe ich dann die Anführungszeichen, weil da übergebe ich diese Zeichenkette. Ob Sie es mit der ersten oder mit der zweiten Variante machen, bleibt Ihnen überlassen. Dann habe ich als Nächstes eine Variable, die heißt "my string", "Beinhaltet diese Zeichenkette das Wort hallo". Das ist der Inhalt meiner Zeichenkette und ich möchte jetzt testen, ob das Wort "hallo" drin vorkommt oder nicht. Wie mache ich das jetzt? Ich übergebe an meinen regulären Ausdruck mithilfe der Funktion "test" meinen String. D.h. ich überprüfe, ob innerhalb der Zeichenkette "Beinhaltet dieses Zeichenkette das Wort hallo" auch tatsächlich das Wort drin ist. Und falls das der Fall ist, bekomme ich ein "wahr" zurückgeliefert, ein "true" in dem Fall, und dann gebe ich in dem Fall mit "alert" das Ganze aus. Es gibt eine ganze Reihe von Möglichkeiten, wie Sie Ihre Muster aufpeppen können, komplizierter machen können. Wenn Sie z.B. testen möchten, ob das Wort "hallo" am Anfang eines Strings steht, dann schreiben Sie dieses Dach an den Anfang und dann werden nur Strings gefunden, die tatsächlich mit einem "hallo" anfangen. Das Gegenteil davon, wenn es auf "hallo" enden soll, dann schreiben Sie ans Ende ein Dollarzeichen. Wenn in Ihrer Zeichenkette "hallo!" steht, würde in dem Fall das dann nicht mehr gefunden werden. Wenn Sie sich mit der Schreibweise nicht sicher sind, können Sie ein Pluszeichen verwenden. Das bedeutet, dass das Zeichen, was direkt vor diesem Pluszeichen kommt, entweder einmal oder mehrmals vorkommt. Also ein "hallo" mit einem l, mit zwei l, oder mit ganz, ganz vielen ls würde in jedem Fall gefunden werden. Sie können nicht nur auf ein- oder mehrmals testen, Sie können auch auf nicht oder mehrmals testen. Dann nehmen Sie das Stern-Symbol, D.h. ob jetzt ein l überhaupt vorkommt, oder wie oft das vorkommt, ist völlig irrelevant. "hao" wird genauso gefunden, wie ein "hallo" mit zwei ls, oder mit ganz, ganz vielen ls. Sie können auch mit dem Fragezeichen auf null oder einmal testen. Wenn Sie sich also nicht sicher sind, ob bspw. ein Buchstabe doppelt geschrieben wird oder wenn viele Leute sich da häufig auch vertippen, dann ist das Fragezeichen Ihr Freund. In dem Fall würde ein "hao" oder ein "halo" richtig gefunden werden, denn das l kommt null oder maximal einmal vor. Ein "hallo" mit Doppel-l oder mit vielen ls würde hier nicht gefunden werden. Es gibt noch weitere Möglichkeiten, wie Sie komplizierte Muster erzeugen können, z.B. ein entweder oder. Wenn Sie sich nicht sicher sind, hat jemand "hallo" geschrieben oder ein "goodbye" oder ein "Auf Wiedersehen", dann verwenden Sie dieses Pipe-Symbol, das ist dieser senkrechte Strich. Da wird also entweder der Teil davor oder der Teil danach gefunden. Wenn Sie sich gar nicht sicher sind, wie ein Wort ausschaut, aber Sie wissen, es fängt mit a an, es hört mit o auf, und es hat insgesamt vier Buchstaben, dann können Sie mit dem Punkt-Zeichen jedes beliebige Zeichen ersetzen. Sie können bspw. auch testen, ob ein Zeichen ein alphanumerisches Zeichen oder ein Unterstrich ist, oder ob es irgendwas anderes ist. Alphanumerisch sind also alle Zahlen, alle Buchstaben, aber ein kaufmännisches Und, ein Dollarzeichen, das Paragrafenzeichen, das Prozentzeichen usw., das kommt nicht darin vor. Und mit diesem Schrägstrich-w, das wird als ein Zeichen gesehen, können Sie eben testen, ob es sich um Zahlen oder Buchstaben handelt. Sie können eine Wortgrenze definieren. Wortgrenze heißt auf Englisch "boundary", deswegen dieses kleine b. Sie können damit testen, ob hier ein Wort aufhören soll. Worte hören ja nicht nur bei einem Leerzeichen auf, sondern auch bei einem Satzzeichen, wie z.B. ein Komma, bei einer neuen Zeile, oder auch bei einem kaufmännischen Und-Zeichen. All da hören Wörter auf. Und wenn Sie testen wollen, ob dieses Wort "hallo" nicht innerhalb eines anderen Wortes ein einzelner Bestandteil ist, sondern ein eigenständiges Wort, dann kann Ihnen die Wortgrenze weiterhelfen. Sie können auch, wenn Sie sich gar nicht sicher sind, welcher Buchstabe am Anfang ist, sondern Sie wissen nur, entweder handelt es sich um "ball", "rall", "sall" "tall", "mall", "zall", dann können Sie testen, ob einer von diesen vier Buchstaben "b", "r", "s" oder "l" sich hier drin befindet. Und diese Sammlung von Zeichen, die symbolisieren Sie mit den eckigen Klammern und packen alles rein, was möglich ist. Und was nicht möglich ist, das lassen Sie einfach weg. Also in dem Fall würde ein "ball" und ein "rall" gefunden werden, nicht aber ein "mall" oder ein "zall". Sie haben mit regulären Ausdrücken unglaublich viele Möglichkeiten, verschiedene Muster zu erzeugen. Das macht es auf der einen Seite so spannend, auf der anderen Seite aber auch so kompliziert. Schauen wir uns zwei Beispiele für ganz komplizierte Muster an. Was Sie hier sehen, das ist ein Test auf eine Postleitzahl. Sie haben am Anfang, sehen Sie dieses Dach-Symbol, das bedeutet, hier soll der String anfangen. Dann haben wir nur Zahlen, das ist diese Sammlung an Zeichen zwischen 0 bis 9, und die sollen fünfmal vorkommen. Wenn Sie weiter hinten nachschauen, haben Sie noch mal die Möglichkeit, dass diese Zahlen nur viermal vorkommen. Wenn Sie auf Postleitzahl in Deutschland, die fünf Stellen lang sind, und auf Postleitzahlen in Österreich, die nur vier Stellen haben, überprüfen wollen, dann könnte das hier Ihr Freund sein. Oder diese Variante hier, das ist ein regulärer Ausdruck, der überprüft, ob es sich um eine E-Mail-Adresse handelt. Sie erkennen das an diesem at-Zeichen in der Mitte. Aber so einen regulären Ausdruck zu erzeugen, das ist relativ kompliziert, denn wenn man sich überlegt, eine E-Mail-Adresse muss ein "at"-Zeichen enthalten, welche Zeichen können denn vor dem "at" stehen? Welche können danach stehen? Wenn Sie zu kurz springen und sagen: Na ja, eine E-Mail-Adresse muss entweder auf ".de" "at", auf ".net" oder auf ".com" enden, dann kriegen Sie Probleme, wenn so eine E-Mail-Adresse auf ".com.au" endet, und dann zwei Punkte hinten dran hat. Deswegen lohnt es sich in vielen Fällen, reguläre Ausdrücke oder komplizierte Muster für reguläre Aufdrücke im Internet zu suchen. Da gibt es unglaublich viele, die schon viele Möglichkeiten abdecken. Handelt es sich um eine E-Mail-Adresse, um eine deutsche Postleitzahl, handelt es sich um eine österreichische Postleitzahl, und vieles, was Sie da schon an vorgefertigtem Code finden. Deswegen, bei komplizierten regulären Ausdrücken lohnt es sich, vorher im Internet zu googeln.

Grundlagen der Programmierung: Basiswissen

Steigen Sie ein in die Welt der Computerprogrammierung und verschaffen Sie sich das Grundwissen, um schon bald eigene Lösungen und Anwendungen zu schreiben.

5 Std. 38 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!