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) }
www.example.com 是三级域名 blog.example.com 是三级域名 example.com 不是三级域名
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!