Lassen Sie uns jetzt über reguläre Ausdrücke sprechen, reguläre Ausdrücke gibt es nicht nur in Python,
sondern in allen unseren Programmiersprachen.
Aber ich werde Ihnen den regulären Ausdruck nur kurz beibringen, weil sie
sehr nützlich sind, besonders wenn Sie, sagen wir, eine Validierung durchführen, wie zum Beispiel überprüfen, ob jemand
die richtige E-Mail-Adresse eingegeben hat oder Sie Passwortanforderungen haben oder überprüfen möchten wenn ein Stück String in einem Stück Text vorhanden ist.
Das werden wir in diesem Video untersuchen.
Reguläre Ausdrücke.
Was sind Sie?
Nun, zum Glück für uns enthält Python ein Modul für reguläre Ausdrücke.
Denken Sie daran, dass reguläre Ausdrücke nicht Python-spezifisch sind.
Sie können so ziemlich in jeder Sprache verwendet werden, aber sie sind sehr nützlich, um Dinge in einem Textstück zu
finden.
Nehmen wir also an, wir haben hier eine Zeichenfolge und können innerhalb dieser Zeichenfolge suchen.
Der nächster bitte.
Na, bitte.
Nehmen wir an, ich wollte hier zuerst nach etwas suchen, könnte ich so etwas tun?
Könnte ich Suche sagen?
Und Schnur.
Lassen Sie uns hier drucken.
Und wenn ich auf Ausführen klicke.
Ich werde wahr, und dies ist eine einfache Möglichkeit für uns, etwas innerhalb einer Zeichenfolge zu suchen.
Warum brauchen wir also überhaupt reguläre Ausdrücke?
Nun, reguläre Ausdrücke sind etwas mächtiger als nur das, weil wir vielleicht suchen möchten,
wie oft eine Suche in der Zeichenfolge vorkommt, oder vielleicht haben wir eine komplizierte Zeichenfolge.
Lassen Sie mich Ihnen zeigen, was ich meine. Wir verwenden so etwas wie reguläre Ausdrücke, indem wir dieses Format
verwenden, damit ich jeden Punkt sagen kann und dann hier die Suche verwenden.
Und wie Sie hier sehen können, geben wir ihm ein Muster und einen String und einige Flags.
Darüber sprechen wir etwas später.
Also brauchen wir nur zu sagen, welches Muster möchten Sie machen?
Nun, ich möchte suchen, ob dies in der Stärke existiert, damit ich dies sagen kann.
Und dann gib ihm die eigentliche Stärke.
In unserem Fall ist das unsere Stärke.
Also wenn ich das starte.
Nun, lass uns ausdrucken, was hier passiert, also lasst uns drucken.
Wenn ich klicke, laufe.
In Ordnung, ich bekomme ein Match-Objekt, das ich ein Match-Objekt nenne, ein regulärer Ausdruck gibt uns eine Ausgabe, nicht nur wahr oder falsch,
sondern ein tatsächliches Objekt, das uns ein bisschen mehr Informationen darüber gibt.
Und Sie können hier sehen, dass eine der Informationen die Spanne ist, also wo sie in der Zeichenfolge
vorkommt, kommt sie bei Index 17 vor und endet bei Index 21.
Das ist also wirklich nützlich.
Lassen Sie uns diese Informationen speichern und einfach hier sagen.
Was können wir also mit diesem Match-Objekt machen?
Nun, das erste, was wir tun können, ist zu überprüfen, was wir haben.
Also haben wir zuallererst Spane, was wir gesehen haben, und wenn ich das laufe.
Es sagt mir, wo die Zeichenfolge als Tupel auftritt, also Index von 17 bis Index von einundzwanzig, ich kann
auch starten und starten.
Naja, sagt mir wann der Text beginnt und ich kann auch Gruppe machen oder eigentlich kann ich auch Ende machen um mir zu zeigen wo
er endet.
Und dann kann ich auch Gruppe machen.
Und group gibt den Teil des Strings zurück, in dem die Übereinstimmung gefunden wurde, und sagen wir, es gab hier noch ein this. Wenn
ich auf Ausführen klicke, sehen Sie das?
Nun, es gibt mir nur das Stück oder einen Teil der Stärke, die das Spiel hatte.
Keine Gruppe ist wirklich nützlich, wenn wir versuchen, mehrere Suchen durchzuführen.
In unserem Fall führen wir also nur eine Suche durch.
Wir haben also ein Muster, das wir versuchen abzugleichen, aber es gibt eine Möglichkeit, mehrere Suchen innerhalb einer
Zeile durchzuführen.
Aber bevor ich Ihnen zeige, was passiert, wenn wir etwas tun, das nicht existiert, wie zum Beispiel dieses
mit einem gefälschten Lauf der Hauptstadt?
Ich erhalte eine Fehlermeldung, weil A jetzt none sein wird, denn wenn der reguläre Ausdruck nichts findet, wird er
nicht zurückgeben, also wird er entweder eine Übereinstimmung zurückgeben, Objekt oder nicht.
Wie können wir dies nun weiter verbessern?
Nun, eine Sache, die wir tun können, ist, ein Muster zu erstellen, nach dem wir suchen möchten.
Also sagen wir hier Muster.
Und dieses Muster verwenden wir einen regulären Ausdruck, Dot-Com-Pop.
Und das Campell wird es uns ermöglichen, genau wie hier, ein Muster zu geben.
Sagen wir hier, ich möchte das jetzt einfach überprüfen, dieses Muster kann ich verwenden, anstatt nur jede Suche durchzuführen,
ich kann das Muster jetzt einfach verwenden.
Um die Suche für mich zu erledigen.
Also noch einmal, wenn ich das starte.
Nun, jetzt muss ich es nicht bestehen, ich muss es einfach bestehen, dieses Getränk, das wir suchen wollen.
Sehen Sie, dass dies erfasst wird und ich Muster jetzt überall mehrmals verwenden kann. Nehmen wir also an,
ich kann alle Methoden, die wir haben, mit Musterpunkten ausführen.
Wir haben eigentlich ziemlich viel.
Lassen Sie mich Ihnen einige der nützlichen zeigen.
Wir haben alles finden, was alles findet.
Instanzen des Spiels, also sagen wir hier drin sein.
Und klicken Sie auf Ausführen.
Schau dir das an, ich habe das.
Und das.
Also bekomme ich beide Instanzen davon in einer Liste.
Ich kann auch so etwas wie Full Match und Full Match machen, gut, um sicherzustellen, dass alles vollständig übereinstimmt.
Also, wenn ich hier auf Ausführen klicke, lass uns hier auf Ausführen klicken.
Ich erhalte keine, weil ich keine vollständige Übereinstimmung erhalte, damit eine vollständige Übereinstimmung die Übereinstimmung zurückgibt.
Es muss die genaue Zeichenfolge sein, die wir suchen.
Wenn ich also klicke, laufe.
Na los, ich bekomme jetzt ein Streichholzobjekt.
Angenommen, ich habe hier ein Fragezeichen anstelle eines Ausrufezeichens, wenn ich auf Ausführen klicke.
Es ist keines wenn ich Ausrufezeichen habe und dann vielleicht etwas anderes hinterher, ich bekomme immer noch keines.
Wir haben auch eine andere Option, die Match ist.
Und match, wie Sie sehen, entspricht null oder mehr Zeichen am Anfang der Zeichenfolge.
Also, wenn ich hier eine Zeichenfolge mache und D drucke, lassen Sie mich das ändern, lassen Sie uns hier Andre und die Zeichenfolge, die wir vergleichen,
tun, und wenn ich auf Ausführen klicke.
Ich erhalte immer noch ein Match-Objekt im Vergleich, wenn ich sehe, welches eine vollständige Übereinstimmung verwendet.
Das gibt mir Ainun, denn wir wollen hier nur eine exakte Übereinstimmung gegen eine Übereinstimmung, die der Saite entspricht und uns
dann egal ist, was danach kommt.
Dies ist also äußerst nützlich.
Aber bis jetzt, ich meine, wir haben ein paar Methoden, die wir verwenden können, die sehr nützlich sind, aber
das scheint nicht so mächtig zu sein.
Warum haben alle Sprachen reguläre Ausdrücke?
Warum kümmern wir uns wirklich?
Nun, im nächsten Video werden wir diese Idee von Mustern untersuchen und wie wir einige wirklich fortgeschrittene
Muster erstellen können.
Ich schaue im nächsten Video vorbei.