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 11e niveau

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

WBOY
WBOYoriginal
2023-06-24 08:27:241007parcourir

Dans Golang, les expressions régulières sont un outil puissant qui peut être utilisé pour vérifier si une adresse URL est un nom de domaine de 11e niveau. Dans cet article, nous verrons comment y parvenir à l'aide d'expressions régulières.

  1. Qu'est-ce qu'un nom de domaine de 11ème niveau ?

Sur Internet, un nom de domaine est une chaîne utilisée pour identifier les ressources du réseau. Les noms de domaine sont divisés selon la structure hiérarchique, de haut en bas : « nom de domaine racine », « nom de domaine de premier niveau », « nom de domaine de deuxième niveau », « nom de domaine de troisième niveau », « domaine de quatrième niveau ». nom"... jusqu'au "nom de domaine à onze niveaux".

Un nom de domaine typique de 11ème niveau est le suivant :

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

    Règles de vérification des expressions régulières
Nous pouvons utiliser des expressions régulières pour vérifier si l'adresse URL est un nom de domaine de 11e niveau pour un 11e niveau légal. nom de domaine, Il doit remplir les conditions suivantes :

    La longueur du nom de domaine ne doit pas dépasser 253 caractères
  • La longueur de tous les niveaux du domaine ; le nom ne doit pas dépasser 63 caractères ;
  • # 🎜🎜#Le nom de domaine à tous les niveaux ne peut être composé que de lettres, de chiffres et de tirets ("-"); avec des lettres ou des chiffres.
  • Sur la base des règles ci-dessus, nous pouvons écrire l'expression régulière suivante :
  • ^[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]) ? $

Dans l'expression régulière ci-dessus, ^ signifie correspondre au début de la chaîne et $ signifie correspondre à la fin de la chaîne. Les autres caractères de l'expression régulière signifient la correspondance des caractères correspondants, par exemple :

[a-zA-Z0-9] signifie la correspondance des lettres et des chiffres

 ; - signifie correspondre aux lignes horizontales (notez que le caractère d'échappement "" est requis)
  • {0,61} signifie correspondre à 0 à 61 caractères ;
  • Golang implémente la vérification des expressions régulières
    Dans Golang, vous pouvez utiliser le package regexp pour traiter les expressions régulières. Pour nos besoins, vous pouvez utiliser le code suivant :
  1. 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级域名")
        }
    }
  2. Dans le code ci-dessus, nous définissons d'abord une adresse URL, puis utilisons la fonction MatchString pour y effectuer une correspondance d'expression régulière. Si la correspondance réussit, cela signifie que l'adresse URL est un nom de domaine de 11e niveau.

Summary

    Grâce à l'étude de cet article, nous avons appris à utiliser des expressions régulières pour vérifier si l'adresse URL est de niveau 11 Nom de domaine et utilisé dans Golang Cette fonction est implémentée dans . Lorsque nous devons vérifier l'adresse URL, nous pouvons écrire des expressions régulières selon des règles similaires et utiliser le package regexp de Golang pour le traitement.

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