« RegularExpression (rtl) » : différence entre les versions
mAucun résumé des modifications |
mAucun résumé des modifications |
||
| 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 | raise ERule.Create(Format(_TP('Exception RegExpDonneeBaliseFormat , donnée lue : "%s", expression : "%s", retourne %d réponses'),[varDonneeLue, aExprReg, vCount])); | ||
end; | end; | ||
</source> | </source> | ||
Dernière version du 20 septembre 2018 à 16: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: