Maison  >  Article  >  développement back-end  >  Comment utiliser des expressions régulières dans Golang pour vérifier si l'adresse URL est un nom de domaine de troisième niveau

Comment utiliser des expressions régulières dans Golang pour vérifier si l'adresse URL est un nom de domaine de troisième niveau

WBOY
WBOYoriginal
2023-06-24 08:06:554271parcourir

Lors de l'écriture d'applications Golang, il est souvent nécessaire de vérifier les adresses URL. Dans ce processus, les expressions régulières peuvent être un outil très utile qui peut aider à vérifier efficacement l'exactitude des adresses URL.

Cet article explique comment utiliser des expressions régulières pour vérifier si l'adresse URL est un nom de domaine de troisième niveau.

1. Comprendre les bases des expressions régulières

Les expressions régulières sont un langage utilisé pour décrire des modèles de texte. Dans les expressions régulières de Golang, certains symboles et méthodes de représentation courants incluent :

  1. "." représente n'importe quel caractère.
  2. "*" signifie faire correspondre le caractère ou l'expression précédente zéro ou plusieurs fois.
  3. "+" signifie faire correspondre le caractère ou l'expression précédente une ou plusieurs fois.
  4. "?" signifie faire correspondre le caractère ou l'expression précédent zéro ou une fois.
  5. "d" représente un nombre.
  6. "w" représente n'importe quel caractère de mot, y compris les lettres, les chiffres et les traits de soulignement.

2. Écrivons une expression régulière pour correspondre à l'adresse URL du nom de domaine de troisième niveau

Écrivons une expression régulière pour correspondre à l'URL du troisième niveau Adresse de nom de domaine au niveau. Le nom de domaine de troisième niveau fait référence aux trois parties de la partie nom d'hôte (nom d'hôte) de l'URL. Par exemple : www.exemple.com, blog.exemple.com, etc.

^(www.)?([a-zA-Z0-9]+).([a-zA-Z0-9]+).([a-zA-Z0-9] +)$

Analyse :

1, ^ représente le début de la chaîne correspondante
2, (www.) ?
3, ([a-zA-Z0-9]+) représente la première partie du nom de domaine de troisième niveau ;
4, . -zA- Z0-9]+) représente la deuxième partie du nom de domaine de troisième niveau ;
6, . représente le séparateur
7, ([a-zA-Z0-9]+) représente le nom de domaine de troisième niveau. La troisième partie ;
8, $ représente la fin de la chaîne correspondante.

3. Utilisez des expressions régulières pour vérifier les adresses URL dans Golang

L'utilisation d'expressions régulières dans Golang nécessite l'utilisation du package "regexp". Ce package fournit la fonction "MatchString", qui peut être utilisée pour faire correspondre des expressions régulières.

Ce qui suit est un exemple de programme Golang complet qui montre comment utiliser des expressions régulières pour vérifier si une adresse URL est un nom de domaine de troisième niveau.

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)
}

Dans le programme ci-dessus, nous définissons d'abord une adresse URL. Appelez ensuite la fonction "matchUrl", en passant l'adresse URL en paramètre.

Dans la fonction " matchUrl ", nous utilisons la fonction " regexp.MustCompile " pour compiler l'expression régulière. Utilisez ensuite la fonction " re.MatchString " pour vérifier si l'adresse URL répond aux exigences de l'expression régulière. La fonction renvoie vrai si la correspondance est réussie, faux sinon.

Comme vous pouvez le voir, dans l'exemple de programme ci-dessus, nous avons vérifié les trois adresses URL www.example.com, blog.example.com et example.com respectivement, et seules les deux premières satisfaisaient aux troisième niveau. Exigences en matière de nom de domaine, le résultat de sortie est donc :

www.example.com 是三级域名
blog.example.com 是三级域名
example.com 不是三级域名

Résumé :

Il n'est pas difficile d'utiliser des expressions régulières dans Golang pour vérifier si l'adresse URL est une adresse URL. nom de domaine de troisième niveau. Écrivez simplement une expression régulière qui remplit les conditions, puis faites-la correspondre via les fonctions fournies dans le package "regexp".

J'espère que l'introduction de cet article pourra vous être utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn