RegularExpression (rtl)

De Wiki1000
(Différences entre les versions)
m
m
 
Ligne 33 : Ligne 33 :
 
   result := vStrList.Strings[0]
 
   result := vStrList.Strings[0]
 
  else
 
  else
   raise ERule.Create(Format(_TP('Exception RegExpDonneeBaliseFormat , donnée lue : "%s", expression : "%s", retourne plusieurs réponses'),[varDonneeLue, aExprReg]));
+
   raise ERule.Create(Format(_TP('Exception RegExpDonneeBaliseFormat , donnée lue : "%s", expression : "%s", retourne %d réponses'),[varDonneeLue, aExprReg, vCount]));
 
end;
 
end;
 
</source>
 
</source>

Version actuelle en date du 20 septembre 2018 à 18:25

Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;

Cette fonction parse une chaine suivant une expression régulière et retourne les différents tokens identifiés dans une liste de chaîne excluant les sous-expressions.

Result Nombre de token identifiés.
aSource Chaine de caractère à parser.
aExpression Expression régulière.
aResult Liste de chaîne recevant les tokens.

Exemple

//Function RegExpDonneeBaliseFormat(aStr:string; aExprReg:string):string;
var vStrList : TStringList;
    Count    : Integer;
begin
 vStrList := TStringList.Create; 
 vCount := RegularExpression(aStr, aExprReg, vStrList);
 
 if (vCount=0) then
   Result := ''
 else if (vCount=1) then
   result := vStrList.Strings[0]
 else
   raise ERule.Create(Format(_TP('Exception RegExpDonneeBaliseFormat , donnée lue : "%s", expression : "%s", retourne %d réponses'),[varDonneeLue, aExprReg, vCount]));
end;

Voir aussi:

Développement DSMDéveloppement DSM





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels