IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Utilisation de regex : TRegExpr


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut Utilisation de regex : TRegExpr
    Bonsoir,

    j'utilise TRegExpr pour faire mes regex.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    procedure TForm1.testClientRead(Sender: TObject; Socket: TCustomWinSocket);
    const
    RRegister = '[A-Za-z]+ : [a-zA-Z0-9]+ || [a-zA-Z0-9]+';
    var
    r : TRegExpr;
    result : String;
    begin
      //Log data
      Memo1.Lines.Add(DateTimetoStr(Now()) + ' | ' + Socket.RemoteAddress + ' | ' + 'Client Sending Data');
      Result := '';
      r := TRegExpr.Create;
     
      try
        r.Expression := RRegister;
        if r.Exec(Socket.ReceiveText) then
          REPEAT
          Result := Result + r.Match [0];
          UNTIL not r.ExecNext;
        finally r.Free;
      end;
      ShowMessage(Result);
     
    end;
    Voila ce que vaut Socket.ReceiveText : Register : Pseudo || Pass où pseudo et pass contiennent n'importe quel charactère.

    Voila ce que je veux faire : sortir dans uen variable le mod Register, dans une autre le pseudo et dans une derneire le password.

    Quelqu'un peut il m'aider ?

  2. #2
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    il y as une fonction qui fait la séparation en donne comme paramétre le caractére de séparation
    en plus tu peut meme crée cette procedure en utlisant copy,pos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    Function  separe(mot:string;sep:char):Tstrings;
      var  s,d:string;
       i:integer;
    begin
          result:=TString.creat; 
          result.clear;
          repeat
              i:=pos(sep,mot);
              if i>1 then
                begin
                  s:=copy(mot,1,i-1);
                  result.add(s);
                  mot:=copy(mot,i+1,length(mot)-i);
                end;
          until i=0;
    end;
    procedure dessait;
    var  list:TStrings;
    begin
     list:=separe(motrsu,'|');
    //utilisation des donnée dans list ......
    list.free;
    end;

  3. #3
    Membre confirmé

    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut
    Thx

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Langage C] Utilisation bibliothèque "regex.h"
    Par bit_o dans le forum Linux
    Réponses: 6
    Dernier message: 12/04/2007, 17h06
  2. Réponses: 2
    Dernier message: 10/04/2007, 11h46
  3. utilisation de regex
    Par mhamedbj dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2007, 17h44
  4. utiliser un regex?
    Par Weedo dans le forum Langage
    Réponses: 3
    Dernier message: 10/01/2006, 17h38
  5. Réponses: 9
    Dernier message: 30/11/2005, 18h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo