


Utilisez des expressions régulières dans Golang pour vérifier si l'entrée est un numéro QQ légal
Golang est un langage de programmation moderne et efficace doté de nombreux outils et bibliothèques puissants, notamment des bibliothèques pour le traitement des expressions régulières. Les expressions régulières sont un outil pour faire correspondre des chaînes et peuvent être utilisées pour vérifier si une chaîne correspond à un modèle spécifique. Dans cet article, nous explorerons comment utiliser les expressions régulières dans Golang pour vérifier les numéros QQ.
QQ number est un outil de messagerie instantanée en ligne lancé par Tencent. Il se compose d'une chaîne de chiffres, généralement de 5 à 11 chiffres, commençant par 0. Vérifier la légitimité d'un numéro QQ est souvent une tâche courante, que ce soit lors du développement de jeux en ligne ou d'applications sociales.
Tout d'abord, nous devons utiliser le package regexp dans Golang pour traiter les expressions régulières. Ce package fournit une structure de type Regexp qui peut être utilisée pour écrire des expressions régulières et les faire correspondre.
Ce qui suit est une expression régulière pour vérifier les numéros QQ :
^[1-9][0-9]{4,10}$
Où, ^ représente le début de la chaîne et $ représente la fin de la chaîne. [1-9] signifie que le premier chiffre est un nombre compris entre 1 et 9, et [0-9]{4,10} signifie que les 4 à 10 chiffres suivants peuvent être n'importe quel nombre. Par conséquent, cette expression régulière peut être utilisée pour vérifier les nombres QQ de 5 à 11 chiffres commençant par 0.
Ensuite, nous utiliserons Golang pour vérifier la légitimité du numéro QQ. Ce qui suit est une fonction qui utilise des expressions régulières pour vérifier si l'entrée est un numéro QQ légal :
import "regexp" func isValidQQ(qq string) bool { regexp := regexp.MustCompile(`^[1-9][0-9]{4,10}$`) return regexp.MatchString(qq) }
Cette fonction accepte un paramètre de chaîne qq, puis utilise le package regexp pour créer une nouvelle variable d'expression régulière . Ensuite, il appelle la méthode Regexp.MatchString pour vérifier si le paramètre d'entrée correspond au modèle du numéro QQ. Renvoie vrai si la correspondance est réussie, faux sinon.
Maintenant, nous pouvons utiliser notre fonction isValidQQ pour vérifier si un numéro QQ est légal. Ce qui suit est un exemple de programme simple :
func main() { qq1 := "0123456" if isValidQQ(qq1) { fmt.Println(qq1, "is a valid QQ number.") } else { fmt.Println(qq1, "is not a valid QQ number.") } qq2 := "1234567" if isValidQQ(qq2) { fmt.Println(qq2, "is a valid QQ number.") } else { fmt.Println(qq2, "is not a valid QQ number.") } }
Dans l'exemple ci-dessus, nous transmettons d'abord un numéro QQ à la fonction isValidQQ, puis faisons correspondre le numéro avec l'expression régulière. Si le numéro est conforme au format d'un numéro QQ, le numéro de sortie est un numéro QQ légal. Sinon, le numéro de sortie n'est pas un numéro QQ légal.
Dans les résultats, nous pouvons voir que le premier numéro QQ est illégal, et le deuxième numéro QQ est un numéro QQ légal.
En résumé, le package regexp intégré de Golang rend la validation des expressions régulières très simple. Utiliser des expressions régulières pour vérifier la légitimité des numéros QQ est une tâche simple mais nécessaire car elle empêche les applications d'accepter ou d'afficher des numéros QQ non autorisés.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

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)

GolangoffersSuperiorPerformance, nativeConcaunternandViagoroutines, and efficaceResourceUsage, faisant la provision de la trafic, low-lantentencyapis; 2.python, tandis que la locosystème de lavel

GoussessIgnifancelylessmemorythanpythonwhenrunningwebservicesduetolanguagedesignandconcurrencyModeldiFferences.1.go'sgoroutinesaarelightweight withminimalstackoverhead, permest efficace

La différence de base entre Go et Python dans la gestion de la mémoire est les différents mécanismes de collecte des ordures. GO utilise la dédouanement concurrent (MarkandSweep) GC, qui s'exécute automatiquement et exécute simultanément avec la logique du programme, traite effectivement des références circulaires. Il convient aux scénarios de concurrence élevés, mais ne peut pas contrôler avec précision le temps de recyclage; tandis que Python repose principalement sur le comptage de référence et les références d'objets sont immédiatement publiées lorsqu'elles sont à zéro. L'avantage est qu'il s'agit d'un recyclage instantané et d'une implémentation simple, mais il y a un problème de référence circulaire, ils doivent donc utiliser le module GC pour aider au nettoyage. Dans le développement réel, GO est plus adapté aux programmes de serveurs haute performance, tandis que Python convient aux classes de script ou aux applications avec des exigences de performance faibles.

Les expressions régulières sont très puissantes en JavaScript pour gérer les opérations de chaîne. Il définit le texte de correspondance du modèle de recherche, tel que l'utilisation des chaînes "Hello" dans / Hello / Test, qui est sensible à la casse par défaut; en utilisant i indigène pour ignorer le cas; Utiliser des caractères génériques tels que \ d ou \ w pour faire correspondre les nombres ou les caractères de mots; implémente le remplacement de la recherche globale via le drapeau G; Utilisation du drapeau M pour activer le mode multi-lignes; Utilisation de Capture Group (()) pour extraire le contenu de sous-match, tel que l'extraction de noms d'utilisateur et de noms de domaine à partir de boîtes aux lettres; en utilisant des références inverses à 1 $ et 2 $ pour réutiliser les valeurs de capture, telles que l'échange de noms de nom; Faites attention à des techniques telles que l'échappement des caractères spéciaux, en utilisant des groupes non capturés (?: ...), contrôlant la correspondance gourmand et recommande des outils pour aider le débogage.

Une interface n'est pas un type de pointeur, il contient deux pointeurs: type dynamique et valeur. 1. La variable d'interface stocke le descripteur de type et le pointeur de données du type spécifique; 2. Lors de l'attribution du pointeur à l'interface, il stocke une copie du pointeur et l'interface elle-même n'est pas un type de pointeur; 3. Si l'interface est nulle, le type et la valeur sont jugés en même temps; 4. Lorsque le récepteur de méthode est un pointeur, seul le type de pointeur peut réaliser l'interface; 5. Dans le développement réel, faites attention à la différence entre la copie de valeur et le transfert de pointeur de l'interface. La compréhension peut éviter les erreurs d'exécution et améliorer la sécurité du code.

Les commandes d'exécution de shell dans le langage Go peuvent être implémentées via la bibliothèque standard OS / EXEC. La méthode de base consiste à utiliser exec.command () pour créer un objet de commande et appeler output () pour obtenir le résultat; 1. Créez un objet de commande lors de l'exécution d'une commande simple et d'appel Output () pour obtenir la sortie; 2. Lorsque la sortie en temps réel est requise, utilisez StdoutPipe et Stderrpipe pour exécuter et imprimer lors de l'exécution; 3. Pour les commandes complexes contenant des pipelines ou des redirects, ils peuvent être remis à / bin / sh-c pour l'analyse et le traitement; 4. En termes de sécurité, évitez d'épisser les entrées utilisateur et il est recommandé de passer une liste de paramètres; 5. L'opération d'arrière-plan de commande de commande peut être réalisée en combinant start () et attente ();

Installez le pilote MongoDBGO et utilisez Mongo.Connect () pour établir une connexion pour s'assurer que la connexion réussit via Ping; 2. Définissez une structure GO avec la balise BSON pour mapper les documents MongoDB, utilisez éventuellement primitive.Objectid comme type d'ID; 3. Utilisez InsertOne pour insérer un seul document, FindOne Query Un seul document et gérer les erreurs Mongo.ErrnoDocuments, UpdateOne met à jour le document, DeleteOne supprime le document, Find Coopera avec Cursor.tall pour obtenir plusieurs documents; 4. Utilisez toujours un contexte avec le délai d'expiration pour éviter les demandes de demande et réutilisez mon

Lorsque vous traitez des expressions régulières, lorsque vous devez insérer des données utilisateur ou des données externes dans la chaîne littérale régulière, vous devez utiliser la fonction preg_quote () pour échapper aux caractères spéciaux. 1. Lorsqu'une variable contient des caractères spéciaux dans un habitué (comme., * ,,?) Et est épissé dans une expression régulière, il provoquera un comportement d'appariement anormal; 2. Le premier paramètre de preg_quote () est une chaîne à échapper, et le deuxième paramètre est utilisé pour spécifier le séparateur ordinaire pour s'assurer que le séparateur lui-même est également échappé; 3. Les malentendus courants incluent l'abus de preg_quote (), d'ignorer les paramètres de délimiteur et de penser à tort qu'il peut résoudre tous les problèmes de sécurité; 4. Dans les applications pratiques, il est recommandé d'utiliser toujours preg_quote () pour gérer le contenu dynamique.
