Beim Schreiben von Golang-Anwendungen ist es häufig erforderlich, URL-Adressen zu überprüfen. Dabei können reguläre Ausdrücke ein sehr nützliches Werkzeug sein, mit dessen Hilfe die Richtigkeit von URL-Adressen effektiv überprüft werden kann.
In diesem Artikel erfahren Sie, wie Sie mithilfe regulärer Ausdrücke überprüfen, ob es sich bei der URL-Adresse um einen Domänennamen der dritten Ebene handelt.
1. Verstehen Sie die Grundlagen regulärer Ausdrücke
Reguläre Ausdrücke sind eine Sprache, die zur Beschreibung von Textmustern verwendet wird. In den regulären Ausdrücken von Golang sind einige gängige Symbole und Darstellungsmethoden:
2. Schreiben Sie einen regulären Ausdruck, der mit der URL-Adresse des Domänennamens der dritten Ebene übereinstimmt.
Schreiben wir einen regulären Ausdruck, der mit der URL-Adresse des Domänennamens der dritten Ebene übereinstimmt. Der Domänenname der dritten Ebene bezieht sich auf die drei Teile im Hostnamen-Teil (Hostname) der URL. Zum Beispiel: www.example.com, blog.example.com usw.
^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9]+)$
Analyse :
1, ^ steht für den Anfang der passenden Zeichenfolge;
2, (www.)? steht für das optionale Präfix www name Der erste Teil;
4, . stellt das Trennzeichen dar; ([a-zA-Z0-9]+) stellt das Trennzeichen dar; , ([a -zA-Z0-9]+) stellt den dritten Teil des Domänennamens der dritten Ebene dar
8, $ stellt das Ende der passenden Zeichenfolge dar.
3. Verwenden Sie reguläre Ausdrücke, um URL-Adressen in Golang zu überprüfen.
Für die Verwendung regulärer Ausdrücke in Golang ist das Paket „regexp“ erforderlich. Dieses Paket stellt die Funktion „MatchString“ bereit, mit der reguläre Ausdrücke abgeglichen werden können.
Das Folgende ist ein vollständiges Golang-Beispielprogramm, das zeigt, wie reguläre Ausdrücke verwendet werden, um zu überprüfen, ob es sich bei der URL-Adresse um einen Domänennamen der dritten Ebene handelt.
package main import ( "fmt" "regexp" ) func main() { url := "www.example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } url = "blog.example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } url = "example.com" if matchUrl(url) { fmt.Printf("%s 是三级域名 ", url) } else { fmt.Printf("%s 不是三级域名 ", url) } } func matchUrl(url string) bool { re := regexp.MustCompile(`^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9]+)$`) return re.MatchString(url) }
Im obigen Programm definieren wir zunächst eine URL-Adresse. Rufen Sie dann die Funktion „matchUrl“ auf und übergeben Sie die URL-Adresse als Parameter.
In der Funktion „matchUrl“ verwenden wir die Funktion „regexp.MustCompile“, um den regulären Ausdruck zu kompilieren. Verwenden Sie dann die Funktion „re.MatchString“, um abzugleichen, ob die URL-Adresse die Anforderungen des regulären Ausdrucks erfüllt. Die Funktion gibt true zurück, wenn die Übereinstimmung erfolgreich ist, andernfalls false.
Wie Sie sehen können, haben wir im obigen Beispielprogramm die drei URL-Adressen www.example.com, blog.example.com und example.com überprüft. Nur die ersten beiden erfüllen die Anforderungen der Third-Level-Domain Name, also die Ausgabe Das Ergebnis ist:
www.example.com 是三级域名 blog.example.com 是三级域名 example.com 不是三级域名
Zusammenfassung:
Es ist nicht schwierig, in Golang reguläre Ausdrücke zu verwenden, um zu überprüfen, ob eine URL-Adresse ein Domänenname der dritten Ebene ist. Schreiben Sie einfach einen regulären Ausdruck, der die Bedingungen erfüllt, und passen Sie ihn dann über die im Paket „regexp“ bereitgestellten Funktionen an.
Ich hoffe, die Einführung in diesem Artikel kann Ihnen hilfreich sein!
Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob es sich bei der URL-Adresse um einen Domänennamen der dritten Ebene handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!