Maison >développement back-end >Golang >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
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 :
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.
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!