Heim >Backend-Entwicklung >Golang >So verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob die Eingabe eine vollständige URL-Adresse ist

So verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob die Eingabe eine vollständige URL-Adresse ist

PHPz
PHPzOriginal
2023-06-24 13:30:101595Durchsuche

In Golang ist es sehr wichtig, reguläre Ausdrücke zu verwenden, um zu überprüfen, ob eine Eingabe eine vollständige URL-Adresse ist. Reguläre Ausdrücke sind eine Beschreibungssprache, mit der Textmuster in Zeichenfolgen abgeglichen werden können. Wenn wir überprüfen müssen, ob eine Eingabe einem bestimmten Format entspricht, können wir mithilfe regulärer Ausdrücke schnell feststellen, ob die Eingabe korrekt ist. Wie kann man also mit regulären Ausdrücken in Golang überprüfen, ob die Eingabe eine vollständige URL-Adresse ist? Dieser Artikel wird es Ihnen erklären.

Zunächst müssen wir das Grundformat einer URL-Adresse verstehen. Eine URL enthält die folgenden Teile:

  • Protokoll: (wie http, ftp, mailto).
  • Hostname: (z. B. www.example.com).
  • Portnummer: (z. B. 80).
  • Pfad: (zum Beispiel /index.html).
  • Abfragezeichenfolge: (zum Beispiel?id=1&name=Tom).
  • Snippet: (z. B. #top).

In diesen Abschnitten sind Protokoll und Hostname obligatorisch. Daher können wir reguläre Ausdrücke verwenden, um zu überprüfen, ob die Eingabezeichenfolge diese beiden Teile enthält. Wir können Golangs integriertes reguläres Ausdruckspaket regexp verwenden, um abzugleichen, ob die Eingabezeichenfolge dem gewünschten Format entspricht.

Der Beispielcode lautet wie folgt:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "https://www.example.com/index.html?id=1&name=Tom#top"
    pattern := `^(http|https)://[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+([a-zA-Z0-9-._?,'+/\~:#[]@!$&*])*$`

    match, err := regexp.MatchString(pattern, str)
    if err != nil {
        fmt.Printf("Error: %s
", err)
        return
    }

    if match {
        fmt.Println("Valid URL")
    } else {
        fmt.Println("Invalid URL")
    }
}

In diesem Code verwenden wir reguläre Ausdrücke^(http|https)://[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+([a-zA-Z0-9-._?,'+/~:#[]@!$&*])*$去匹配输入字符串。其中,^表示字符串开始,$表示字符串结尾,http|https表示匹配http或https协议,[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+表示匹配主机名,[a-zA-Z0-9-._?,'+/~:#[]@!$&*], um andere Teile in der URL abzugleichen, z. B. Pfade, Abfragezeichenfolgen, Fragmente usw.

Wenn die Übereinstimmung erfolgreich ist, wird „Gültige URL“ ausgegeben, andernfalls wird „Ungültige URL“ ausgegeben.

Es ist zu beachten, dass dieser reguläre Ausdruck lediglich überprüft, ob das Format der URL korrekt ist, nicht jedoch die Existenz der URL. Wenn Sie die Existenz der URL überprüfen müssen, müssen Sie andere Methoden verwenden.

Kurz gesagt: Durch die Verwendung regulärer Ausdrücke zur Überprüfung, ob die Eingabe eine vollständige URL-Adresse ist, können wir schnell feststellen, ob die Eingabe einem bestimmten Format entspricht. In Golang ist es sehr einfach, das Regexp-Paket zum Überprüfen regulärer Ausdrücke zu verwenden. Verwenden Sie einfach die MatchString-Funktion.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in Golang, um zu überprüfen, ob die Eingabe eine vollständige URL-Adresse ist. 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