RegularExpression (rtl)

De Wiki1000
(Différences entre les versions)
 
m
 
(5 révisions intermédiaires par 2 utilisateurs sont masquées)
Ligne 1 : Ligne 1 :
<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResultat: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 stringlist.
+
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 14 : Ligne 14 :
 
|Expression régulière.
 
|Expression régulière.
 
|-
 
|-
|aResultat
+
|aResult
|String list recevant les tokens.
+
|Liste de chaîne recevant les tokens.
 
|}
 
|}
  
Ligne 21 : Ligne 21 :
  
 
<source lang='delphi'>
 
<source lang='delphi'>
 +
//Function RegExpDonneeBaliseFormat(aStr:string; aExprReg:string):string;
 +
var vStrList : TStringList;
 +
    Count    : Integer;
 
begin
 
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;
 
end;
 
</source>
 
</source>
Ligne 29 : Ligne 41 :
 
{{Footer|Développement DSM}}
 
{{Footer|Développement DSM}}
 
[[category:RTL Chaîne]]
 
[[category:RTL Chaîne]]
 

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:

Développement DSMDéveloppement DSM

Outils personnels