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 :

Regex avec TPerlRegEx


Sujet :

Langage Delphi

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Regex avec TPerlRegEx
    Bonjour,

    J'ai un problème avec une regex, dans une appli que j'ai en Delphi 7. J'utilise la librairie TPerlRegEx.
    Ce n'est pas vraiment un problème lié à delphi, mais plus à l'utilisation d'expression régulière.
    Je ne sais pas si je poste au bon endroit.

    Voici mon problème.

    j'ai des chaines de caractère du style : ADFBH:CF+KLJHD34-kjh\+ASGFD\+DFGD:SDFSDF-ZER.

    Je souhaiterais découper ces chaines sur la combinaison \+. Je dois donc récupérer les chaines suivantes :
    • ADFBH:CF+KLJHD34-kjh
    • ASGFD
    • DFGD:SDFSDF-ZER


    J'utilise la fonction suivante :


    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
    procedure TForm1.btn5Click(Sender: TObject);
    var regx: TPerlRegEx;
    begin
      lst1.Clear;
     
      regx := TPerlRegEx.Create;
      regx.Subject := edt2.Text;
    //  regx.RegEx := '([^\?]+[^\+])([\?][\+])?';
    //  regx.RegEx := '([^\+]*)(?:[\+])?';
      regx.RegEx := '([^\+]*)(?:[\+]?)';
    //  regx.RegEx := '([^\?][^\+])(?:\\\+)?';
     
      if (regx.Match) then
        repeat
          lst1.Items.Add(regx.MatchedText);
        until not regx.MatchAgain;
     
      FreeAndNil(regx);
    end;

    Je pensais utiliser la regex suivante ([^\+]*)(?:[\+]?).
    Mais, cela ne fonctionne pas correctement, j'obtiens:
    • ADFBH:CF+
    • KLJHD34-kjh\+
    • ASGFD\+
    • DFGD:SDFSDF-ZER


    Savez-vous comment corriger mon traitement ?
    Dernière modification par Andnotor ; 01/11/2018 à 09h42. Motif: Balise [code]

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

Discussions similaires

  1. regex avec javascript
    Par zabdaniel dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 15/05/2008, 17h41
  2. Appliquer regex avec parenthèse capturantes sur SELECT
    Par vallica dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/02/2008, 12h34
  3. [RegEx] Regex avec condition
    Par yudao dans le forum Langage
    Réponses: 6
    Dernier message: 29/05/2007, 15h08
  4. REGEX avec variable
    Par Mat_F dans le forum Langage
    Réponses: 3
    Dernier message: 21/07/2006, 19h24
  5. Problème de Regex ... avec un point
    Par bugalood dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2005, 10h26

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