


Comment utiliser des expressions régulières dans Golang pour vérifier si l'adresse URL est un nom de domaine de deuxième niveau
Jun 25, 2023 pm 06:30 PMUtiliser des expressions régulières en golang pour vérifier si l'adresse URL est un nom de domaine de deuxième niveau est une exigence relativement courante. Dans cet article, nous expliquerons comment utiliser les expressions régulières dans Golang à des fins de vérification et comment écrire des expressions régulières pour vérifier si une adresse URL est un nom de domaine de deuxième niveau.
Tout d’abord, jetons un coup d’œil à l’utilisation de base des expressions régulières dans Golang. Golang fournit la bibliothèque d'expressions régulières regexp. Nous pouvons utiliser des expressions régulières en appelant le package regexp.
Avant d'utiliser des expressions régulières pour la vérification, nous devons d'abord écrire une expression régulière. Ce qui suit est une expression régulière qui représente un nom de domaine de deuxième niveau :
^[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9]+)*.[a-zA-Z]{2,5}$
La signification de cette expression régulière est : correspond à une chaîne dont la première lettre peut être des lettres majuscules ou minuscules ou des chiffres, qui peuvent inclure, sans toutefois s'y limiter, des traits d'union. et des points, et se termine par une chaîne A se terminant par une lettre anglaise et d'une longueur de 2 à 5.
Voyons ensuite comment utiliser cette expression régulière pour la vérification dans Golang. Voici un exemple de code qui utilise des expressions régulières pour vérifier si l'URL est un nom de domaine de deuxième niveau :
package main import ( "fmt" "regexp" ) func main() { url := "http://www.example.com" re := regexp.MustCompile(`^[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9]+)*.[a-zA-Z]{2,5}$`) match := re.MatchString(url) if match { fmt.Println("URL是一个二级域名") } else { fmt.Println("URL不是一个二级域名") } }
Dans le code ci-dessus, nous définissons d'abord une URL à vérifier. Dans le code suivant, nous appelons le package regexp. La fonction MatchString permet de déterminer si la chaîne à vérifier est conforme à l'expression régulière spécifiée. Si cela correspond, renvoyez vrai, sinon renvoyez faux.
En utilisation réelle, nous pouvons rencontrer des situations particulières, telles que certains caractères spéciaux dans l'URL, et nous devons échapper à ces caractères spéciaux. Une autre situation est que nous devons ignorer la casse dans l'URL. Dans ce cas, nous devons utiliser l'option ignorer la casse dans l'expression régulière. Voici un exemple de code qui utilise des expressions régulières pour vérifier si l'URL est un nom de domaine de deuxième niveau et ignore la casse et les caractères spéciaux :
package main import ( "fmt" "regexp" ) func main() { url := "http://wwW.ExaMPle.com?foo=bar" re := regexp.MustCompile(`(?i)^[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}$`) match := re.MatchString(url) if match { fmt.Println("URL是一个二级域名") } else { fmt.Println("URL不是一个二级域名") } }
Dans le code ci-dessus, nous définissons d'abord une URL à vérifier, et dans le code suivant , nous avons appelé la fonction MatchString dans le package regexp. Cette fonction est utilisée pour déterminer si la chaîne à vérifier est conforme à l'expression régulière spécifiée. (?i) signifie ignorer la casse, [a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}$ signifie correspondre à un domaine de deuxième niveau nom.
En résumé, il est courant d'utiliser des expressions régulières pour vérifier si une URL est un nom de domaine de deuxième niveau. golang fournit le package regexp pour prendre en charge l'utilisation d'expressions régulières. Il nous suffit d'écrire l'expression régulière correspondante et d'utiliser la fonction MatchString pour la vérifier. Il convient de noter que certains caractères spéciaux doivent être échappés et qu'il existe également des cas où la casse et les caractères spéciaux doivent être pris en compte.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment lire et écrire des fichiers en toute sécurité avec Golang ?

Comment configurer le pool de connexions pour la connexion à la base de données Golang ?

Similitudes et différences entre Golang et C++

Quelle est la courbe d'apprentissage de l'architecture du framework Golang ?

Comment générer des éléments aléatoires à partir d'une liste dans Golang ?

Comparaison des avantages et des inconvénients du framework Golang

Quelles sont les meilleures pratiques pour la gestion des erreurs dans le framework Golang ?

instructions d'utilisation du document cadre Golang
