Maison > développement back-end > Golang > Comment obtenir des expressions régulières insensibles à la casse dans Go ?

Comment obtenir des expressions régulières insensibles à la casse dans Go ?

Barbara Streisand
Libérer: 2024-12-11 12:30:16
original
920 Les gens l'ont consulté

How to Achieve Case-Insensitive Regular Expressions in Go?

Obtenir une expression régulière insensible à la casse dans Go

Dans le développement Web, l'exécution d'opérations d'expression régulière implique souvent la gestion des caractères majuscules et minuscules. Dans Go, la méthode regexp.Compile() ne possède pas intrinsèquement de fonctionnalités insensibles à la casse.

Une approche courante consiste à gérer explicitement les deux cas :

regexp.Compile("[a-zA-Z]")
Copier après la connexion

Cependant, cette approche devient fastidieux lorsque l'expression régulière est construite dynamiquement à partir d'une chaîne fournie par l'utilisateur.

Pour obtenir une véritable insensibilité à la casse, Go propose une solution : ajouter le (?i) indicateur au début de l'expression régulière. Cet indicateur indique au moteur d'expression régulière d'ignorer les distinctions de casse.

Voici comment cela fonctionnerait dans votre exemple :

reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
Copier après la connexion

Cette approche offre une solution propre et efficace pour les opérations d'expression régulière insensibles à la casse. Cela évite la nécessité d'une gestion manuelle de la casse et garantit que l'expression régulière correspond avec précision aux caractères majuscules et minuscules. Pour plus d'informations sur les indicateurs utilisés dans les expressions régulières, reportez-vous à la documentation du package regexp/syntax.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal