REGEX : Expression Régulière Insensible à la Casse (“IgnoreCase”)

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

Laisser un commentaire