« RegularExpression (rtl) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
mAucun résumé des modifications
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;</source>
<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;</source>


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.
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.


{|class="wikitable"
{|class="wikitable"
Ligne 22 : Ligne 22 :
<source lang='delphi'>
<source lang='delphi'>
//Function RegExpDonneeBaliseFormat(aStr:string; aExprReg:string):string;
//Function RegExpDonneeBaliseFormat(aStr:string; aExprReg:string):string;
var vStrList:TStringList;
var vStrList : TStringList;
    Count    : Integer;
begin
begin
Result := '';
  vStrList := TStringList.Create;  
  vStrList := TStringList.Create;
  vCount := RegularExpression(aStr, aExprReg, vStrList);
  RegularExpression( aStr ,aExprReg ,vStrList);


  if (vStrList.count=0) then
  if (vCount=0) then
   exit;
   Result := ''
 
  else if (vCount=1) then
  if (vStrList.count=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 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>

Dernière version du 20 septembre 2018 à 16:25

<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;</source>

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

<source lang='delphi'> //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; </source>

Voir aussi:

{{#if:Développement DSM|

{{#if:Développement DSM|— Développement DSM |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}