RegularExpression (rtl)
De Wiki1000
(Différences entre les versions)
m |
m |
||
(2 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 25 : | Ligne 25 : | ||
Count : Integer; | Count : Integer; | ||
begin | begin | ||
− | vStrList := TStringList.Create; | + | vStrList := TStringList.Create; |
− | + | ||
vCount := RegularExpression(aStr, aExprReg, vStrList); | vCount := RegularExpression(aStr, aExprReg, vStrList); | ||
if (vCount=0) then | if (vCount=0) then | ||
Result := '' | Result := '' | ||
− | else if ( | + | else if (vCount=1) then |
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> |
Version actuelle en date du 20 septembre 2018 à 17: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: