Par défaut, la rechercher respecte le format de Casse du modèle (sauf règle explicite contraire)
Il est possible de régler l’Option par défaut au format “Insensible à la casse” (IgnoreCase), ce qui permet de ratisser toutes les graphies possibles du prénom (Majuscules, Minuscules ou Capitales)
function Is_Prenom(Prenom: string; Liste_PRENOMS: TlistBox): boolean; { Teste si le prénom est dans la Liste_PRENOMS } var i: integer; MODELE: string; RegEX: TRegEx; begin result := false; for i := 0 to Liste_PRENOMS.items.Count - 1 do Begin MODELE := Liste_PRENOMS.items[i]; RegEX.create(MODELE, [roIgnoreCase]); if RegEX.IsMatch(Prenom) then Begin result := True; break; // La recherche s'arrête dès que le prénom est trouvé End; End; end;
- Une RÈGLE est créée à partir d’un MODÈLE avec l’Option “IGNORECASE“
RegEX.create(MODELE, [roIgnoreCase]);
- Puis la recherche est lancée à partir des Fonctions Ismatch qui renvoie False ou True selon le résultat comme ici, ou Match & ses propriétés Match.Success & Match.Value qui renvoie le Prénom trouvé …
- Il est bien sur possible de compliquer la règle, pour trouver un prénom suivi d’un espace, d’un mot, d’une date : en modifiant le MODÈLE (Pattern)… etc ..
A noter que RegEx est un objet “Volatile” qui est automatiquement détruit après usage, il n’y a donc pas de fonction RegEx.free