Lors de la construction dynamique d'expressions régulières à partir des entrées de l'utilisateur, les rendre insensibles à la casse est une exigence courante. Le besoin s'en fait sentir lorsque la chaîne d'entrée peut contenir à la fois des caractères majuscules et minuscules, mais que la correspondance doit les considérer comme équivalents.
Une approche simple consiste à gérer manuellement les deux cas dans l'expression régulière, comme le montre cet exemple :
reg, err := regexp.Compile(`[a-zA-Z]`)
Cependant, si l'expression régulière est construite à partir d'une chaîne, une solution plus élégante est disponible.
Pour créer une expression régulière insensible à la casse, ajoutez (?i) au début de l'expression :
reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
Cet indicateur amène le moteur d'expression régulière à ignorer les distinctions de casse, ce qui rend la correspondance insensible à la casse.
Pour plus d'informations sur les expressions régulières indicateurs d'expression, reportez-vous à la documentation du package regexp/syntaxe sous le terme "flags".
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!