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 11. 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 11. Ebene handelt

WBOY
WBOYOriginal
2023-06-24 08:27:241007Durchsuche

In Golang sind reguläre Ausdrücke ein leistungsstarkes Tool, mit dem überprüft werden kann, ob es sich bei einer URL-Adresse um einen Domänennamen der 11. Ebene handelt. In diesem Artikel erfahren Sie, wie Sie dies mithilfe regulärer Ausdrücke erreichen.

  1. Was ist ein Domainname der 11. Ebene?

Im Internet ist ein Domänenname eine Zeichenfolge, die zur Identifizierung von Netzwerkressourcen verwendet wird. Domänennamen werden entsprechend der hierarchischen Struktur von hoch nach niedrig unterteilt: „Stammdomänenname“, „Domänenname der obersten Ebene“, „Domänenname der zweiten Ebene“, „Domänenname der dritten Ebene“, „Domäne der vierten Ebene“. Name“... bis hin zu „elfstufiger Domainname“.

Ein typischer Domainname der 11. Ebene lautet wie folgt:

www.example.com.cn.foo.bar.baz.qux.fred.plugh.xyz

  1. Validierungsregeln für reguläre Ausdrücke

Wir können reguläre Ausdrücke verwenden Ausdruck, um zu überprüfen, ob es sich bei der URL-Adresse um einen Domänennamen der 11. Ebene handelt. Für einen legalen Domänennamen der 11. Ebene muss er die folgenden Bedingungen erfüllen:

  • Die Länge des Domänennamens darf 253 Zeichen nicht überschreiten Jeder Ebenenteil des Domainnamens darf 63 Zeichen nicht überschreiten.
  • Der Domainname darf auf allen Ebenen nur aus Buchstaben, Zahlen und Bindestrichen bestehen.
  • Der Domainname muss mit Buchstaben oder Zahlen enden.
  • Basierend auf den oben genannten Regeln können wir den folgenden regulären Ausdruck schreiben:

^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA- Z0 -9])?.([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.){9}[ a -zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$

Im obigen regulären Ausdruck bedeutet ^ Übereinstimmung mit dem Anfang von Die Zeichenfolge $ bedeutet, dass sie mit dem Ende der Zeichenfolge übereinstimmt. Andere Zeichen im regulären Ausdruck stellen übereinstimmende entsprechende Zeichen dar, zum Beispiel:

[a-zA-Z0-9] stellt übereinstimmende Buchstaben und Zahlen dar;
  • - stellt übereinstimmende horizontale Linien dar (beachten Sie, dass das Escape-Zeichen „“ erforderlich ist). ;
  • {0,61} bedeutet Übereinstimmung von 0 bis 61 Zeichen.
Golang implementiert die Überprüfung regulärer Ausdrücke
  1. In Golang können Sie das Paket regexp verwenden, um reguläre Ausdrücke zu verarbeiten. Für unsere Anforderungen können wir den folgenden Code verwenden:
package main

import (
    "fmt"
    "regexp"
)

func main() {
    url := "www.example.com.cn.foo.bar.baz.qux.fred.plugh.xyz"
    regex := "^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){9}[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$"
    matched, _ := regexp.MatchString(regex, url)
    if matched {
        fmt.Println("URL地址为11级域名")
    } else {
        fmt.Println("URL地址不是11级域名")
    }
}

Im obigen Code definieren wir zunächst eine URL-Adresse und verwenden dann die MatchString-Funktion, um einen regulären Ausdrucksabgleich darauf durchzuführen. Wenn die Übereinstimmung erfolgreich ist, bedeutet dies, dass es sich bei der URL-Adresse um einen Domänennamen der 11. Ebene handelt.

Zusammenfassung
  1. Durch das Studium dieses Artikels haben wir gelernt, wie man reguläre Ausdrücke verwendet, um zu überprüfen, ob die URL-Adresse ein Domänenname der 11. Ebene ist, und haben diese Funktion in Golang implementiert. Wenn wir die URL-Adresse überprüfen müssen, können wir reguläre Ausdrücke nach ähnlichen Regeln schreiben und zur Verarbeitung das Regexp-Paket von Golang verwenden.

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 11. 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