So verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob eine Zeichenfolge eine zulässige URL ist

WBOY
Freigeben: 2023-07-12 15:12:07
Original
1787 Leute haben es durchsucht

So verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob eine Zeichenfolge eine zulässige URL ist.

In unserer täglichen Programmentwicklung müssen wir häufig feststellen, ob eine Zeichenfolge eine zulässige URL ist. Die Go-Sprache bietet Unterstützung für reguläre Ausdrücke, und wir können reguläre Ausdrücke verwenden, um die Legitimität der URL zu bestimmen. Im Folgenden stellen wir vor, wie Sie reguläre Ausdrücke in der Go-Sprache verwenden, um festzustellen, ob eine Zeichenfolge eine zulässige URL ist, und fügen ein Codebeispiel bei.

Zuerst müssen wir die Go-Sprachbibliothek für reguläre Ausdrücke regexp importieren. Der Code lautet wie folgt: regexp。代码如下:

import (
    "regexp"
)
Nach dem Login kopieren

接下来,我们需要定义一个用于表示URL的正则表达式。URL的正则表达式可以有多种形式,这里我们采用一个简单的正则表达式来判断URL的合法性。代码如下:

var urlRegex = regexp.MustCompile(`^(http|https)://[a-zA-Z0-9-.]+.[a-zA-Z0-9]{2,}(:[0-9]{2,5})?(/[a-zA-Z0-9#]+/?)*(?.+)?$`)
Nach dem Login kopieren

上述正则表达式的含义是:

  • ^(http|https): 以http或https开头;
  • ://: 匹配://字符;
  • [a-zA-Z0-9-.]+: 匹配一个或多个字母、数字、连字符和点的组合,表示域名;
  • .[a-zA-Z0-9]{2,}: 匹配一个或多个字母和数字的组合,表示顶级域名;
  • (:[0-9]{2,5})?: 匹配一个或多个数字的组合,表示端口号。该部分可以省略;
  • (/[a-zA-Z0-9#]+/?)*: 匹配一个或多个字母、数字和#字符的组合,表示路径。路径部分可以省略;
  • (?.+)?: 匹配以?开头的字符,表示查询参数。该部分可以省略;
  • $: 表示字符串的结尾。

接下来,我们可以编写一个函数来判断给定的字符串是否为合法URL。代码如下:

func isURLValid(url string) bool {
    return urlRegex.MatchString(url)
}
Nach dem Login kopieren

上述函数使用了正则表达式的MatchString方法来进行匹配判断。如果给定的字符串符合正则表达式的规则,则返回true,否则返回false

package main

import (
    "fmt"
    "regexp"
)

var urlRegex = regexp.MustCompile(`^(http|https)://[a-zA-Z0-9-.]+.[a-zA-Z0-9]{2,}(:[0-9]{2,5})?(/[a-zA-Z0-9#]+/?)*(?.+)?$`)

func isURLValid(url string) bool {
    return urlRegex.MatchString(url)
}

func main() {
    url := "https://www.example.com"
    fmt.Printf("The URL '%s' is valid: %v
", url, isURLValid(url))

    url = "invalid_url"
    fmt.Printf("The URL '%s' is valid: %v
", url, isURLValid(url))
}
Nach dem Login kopieren

Als nächstes müssen wir einen regulären Ausdruck definieren, um die URL darzustellen. Reguläre Ausdrücke für URLs können viele Formen annehmen. Hier verwenden wir einen einfachen regulären Ausdruck, um die Legitimität der URL zu bestimmen. Der Code lautet wie folgt:

The URL 'https://www.example.com' is valid: true
The URL 'invalid_url' is valid: false
Nach dem Login kopieren
Die Bedeutung des obigen regulären Ausdrucks ist:

  • ^(http|https): beginnt mit http oder https;
  • ://: entspricht dem Zeichen „://“;
  • [a-zA-Z0-9-.]+: entspricht einem oder mehr Buchstaben und Zahlen, eine Kombination aus Bindestrichen und Punkten, die einen Domainnamen angeben.
  • .[a-zA-Z0-9]{2,: Entspricht einem oder mehreren Kombinationen aus Buchstaben und Zahlen, die den Top-Level-Domainnamen angeben;
  • (:[0-9]{2,5})?: Entspricht einer oder mehreren Kombinationen Zahlen, die die Portnummer angeben. Dieser Teil kann weggelassen werden;
  • (/[a-zA-Z0-9#]+/?)*: Entspricht einer oder mehreren Kombinationen aus Buchstaben, Zahlen und #-Zeichen , stellt den Pfad dar. Der Pfadteil kann weggelassen werden;
  • (?.+)?: Entspricht Zeichen, die mit ? beginnen und Abfrageparameter angeben. Dieser Teil kann weggelassen werden;
  • $: gibt das Ende der Zeichenfolge an.
Als nächstes können wir eine Funktion schreiben, um zu bestimmen, ob die angegebene Zeichenfolge eine zulässige URL ist. Der Code lautet wie folgt:

rrreee

Die obige Funktion verwendet die MatchString-Methode regulärer Ausdrücke, um eine Übereinstimmungsbeurteilung durchzuführen. Wenn die angegebene Zeichenfolge den Regeln des regulären Ausdrucks entspricht, wird true zurückgegeben, andernfalls wird false zurückgegeben. 🎜🎜Das Folgende ist ein Beispielprogramm, das zeigt, wie Sie die obige Funktion verwenden, um festzustellen, ob eine Zeichenfolge eine zulässige URL ist. Der Code lautet wie folgt: 🎜rrreee🎜Das Ausführen des obigen Beispielprogramms gibt die folgenden Ergebnisse aus: 🎜rrreee🎜Anhand des obigen Beispiels können wir sehen, wie reguläre Ausdrücke verwendet werden, um zu bestimmen, ob eine Zeichenfolge eine zulässige URL ist. In der tatsächlichen Entwicklung können wir die Regeln für reguläre Ausdrücke anpassen, um Urteile entsprechend unseren eigenen Bedürfnissen zu fällen. Natürlich können wir auch andere Methoden verwenden, um festzustellen, ob eine Zeichenfolge eine zulässige URL ist, und reguläre Ausdrücke sind nur eine davon. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob eine Zeichenfolge eine zulässige URL ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!