Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob es sich bei der URL-Adresse um einen Domänennamen der zweiten Ebene handelt

So verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob es sich bei der URL-Adresse um einen Domänennamen der zweiten Ebene handelt

王林
王林Original
2023-06-25 18:30:151379Durchsuche

Die Verwendung regulärer Ausdrücke in Golang zur Überprüfung, ob es sich bei der URL-Adresse um einen Domänennamen der zweiten Ebene handelt, ist eine relativ häufige Anforderung. In diesem Artikel stellen wir vor, wie Sie reguläre Ausdrücke in Golang zur Überprüfung verwenden und wie Sie reguläre Ausdrücke schreiben, um zu überprüfen, ob es sich bei einer URL-Adresse um einen Domänennamen der zweiten Ebene handelt.

Werfen wir zunächst einen Blick auf die grundlegende Verwendung regulärer Ausdrücke in Golang. Golang bietet eine Bibliothek für reguläre Ausdrücke, regexp. Wir können reguläre Ausdrücke verwenden, indem wir das Paket regexp aufrufen.

Bevor wir reguläre Ausdrücke zur Überprüfung verwenden, müssen wir zunächst einen regulären Ausdruck schreiben. Das Folgende ist ein regulärer Ausdruck, der einen Domänennamen der zweiten Ebene darstellt:

^[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9]+)*.[a-zA-Z]{2,5}$

Die Bedeutung dieses regulären Ausdrucks ist: Übereinstimmung mit einer Zeichenfolge, deren erster Buchstabe Groß- oder Kleinbuchstaben oder Zahlen sein kann, die Bindestriche enthalten können, aber nicht darauf beschränkt sind und Punkte und endet mit einer A-Zeichenfolge, die mit einem englischen Buchstaben endet und eine Länge von 2-5 hat.

Dann schauen wir uns an, wie man diesen regulären Ausdruck zur Verifizierung in Golang verwendet. Das Folgende ist ein Beispielcode, der reguläre Ausdrücke verwendet, um zu überprüfen, ob es sich bei der URL um einen Domänennamen der zweiten Ebene handelt:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    url := "http://www.example.com"

    re := regexp.MustCompile(`^[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9]+)*.[a-zA-Z]{2,5}$`)
    match := re.MatchString(url)

    if match {
        fmt.Println("URL是一个二级域名")
    } else {
        fmt.Println("URL不是一个二级域名")
    }
}

Im obigen Code definieren wir zunächst eine zu überprüfende URL. Im nächsten Code rufen wir das Regexp-Paket auf Mit der Funktion MatchString wird ermittelt, ob die zu überprüfende Zeichenfolge dem angegebenen regulären Ausdruck entspricht. Wenn es übereinstimmt, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben.

Bei der tatsächlichen Verwendung können einige Sondersituationen auftreten, z. B. einige Sonderzeichen in der URL, und wir müssen diese Sonderzeichen maskieren. Eine andere Situation besteht darin, dass wir die Groß-/Kleinschreibung in der URL ignorieren müssen. In diesem Fall müssen wir die Option „Groß-/Kleinschreibung ignorieren“ im regulären Ausdruck verwenden. Hier ist ein Beispielcode, der reguläre Ausdrücke verwendet, um zu überprüfen, ob es sich bei der URL um einen Domänennamen der zweiten Ebene handelt, und dabei Groß- und Kleinschreibung und Sonderzeichen ignoriert:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    url := "http://wwW.ExaMPle.com?foo=bar"

    re := regexp.MustCompile(`(?i)^[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}$`)
    match := re.MatchString(url)

    if match {
        fmt.Println("URL是一个二级域名")
    } else {
        fmt.Println("URL不是一个二级域名")
    }
}

Im obigen Code definieren wir zunächst eine zu überprüfende URL und im folgenden Code , wir haben die Funktion MatchString im Regexp-Paket aufgerufen. Diese Funktion wird verwendet, um zu bestimmen, ob die zu überprüfende Zeichenfolge dem angegebenen regulären Ausdruck entspricht. (?i) bedeutet, dass die Groß-/Kleinschreibung ignoriert wird, [a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}$ bedeutet, dass eine Second-Level-Domain gefunden wird Name.

Zusammenfassend ist es eine häufige Anforderung, reguläre Ausdrücke zu verwenden, um zu überprüfen, ob es sich bei einer URL um einen Domänennamen der zweiten Ebene handelt. Golang stellt das Regexp-Paket zur Verfügung, um die Verwendung regulärer Ausdrücke zu unterstützen. Wir müssen nur den entsprechenden regulären Ausdruck schreiben und ihn mit der MatchString-Funktion überprüfen. Es ist zu beachten, dass einige Sonderzeichen maskiert werden müssen, und es gibt auch Fälle, in denen Groß- und Kleinschreibung und Sonderzeichen berücksichtigt werden müssen.

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 zweiten Ebene handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn