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

Codes sources à télécharger Pascal Discussion :

FLRE - Fast Light Regular Expressions [Sources]


Sujet :

Codes sources à télécharger Pascal

  1. #1
    Robot Forum
    Avatar de forum
    Inscrit en
    Novembre 1999
    Messages
    2 774
    Détails du profil
    Informations forums :
    Inscription : Novembre 1999
    Messages : 2 774
    Points : 2 549
    Points
    2 549
    Par défaut FLRE - Fast Light Regular Expressions
    Bonjour,

    Je vous propose un nouvel élément à utiliser : FLRE - Fast Light Regular Expressions.

    FLRE (Fast Light Regular Expressions) est une bibliothèque pour l'utilisation des expressions régulières, écrite en Pascal. Ses atouts sont, outre son étonnante rapidité, le fait qu'elle soit compatible aussi bien avec Delphi (ancienne et nouvelle génération) qu'avec Free Pascal.

    La bibliothèque tient dans deux unités, FLRE.pas et FLREUnicode.pas. Elle peut également être compilée en bibliothèque dynamique, auquel cas on peut s'en servir dans un programme écrit dans un autre langage que le Pascal.

    FLRE supporte à la fois les styles Perl et POSIX.

    Qu'en pensez-vous ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Je vous propose une collection de petits exemples pour démarrer avec la bibliothèque FLRE. Certains exemples sont de BeRo1985, d'autres de jurassic pork, d'autres de votre serviteur.

    Les exemples ont été testés avec Delphi XE2 et Lazarus 1.4.2.
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Un bug a été corrigé dans la bibliothèque FLRE. Une violation d'accès se produisait lorsqu'on remplaçait un motif par une chaîne vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    program testreplace;
     
    uses
      Classes, SysUtils, FLRE, FLREUnicode;
     
    begin
      with TFLRE.Create('\d', []) do
      begin
        MaximalDFAStates := 65536;
        WriteLn(Replace('a1b23c456d', ''));
        Free;
      end;
      ReadLn;
    end.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 195
    Points
    195
    Par défaut
    Bonjour

    j'essaye d'utiliser

    Code pascal : 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
    26
     
    program match1;
    {$I DIRECTIVES}
     
    uses
      SysUtils,
      Classes,
      FLRE in '..\src\FLRE.pas';
     
    var
      e: TFLRE;
      c: TFLRECaptures;
      s: TFLRERawByteString;
     
    begin
      s := 'Abc1234';
     
      e := TFLRE.Create('^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$', []);
      try
        WriteLn(e.Match(s, c));
        WriteLn(Copy(s, c[0].Start, c[0].Length));
      finally
        e.Free;
      end;
      ReadLn;
    end.

    il s'agit d'une modification de l'exemple match1 avec une expression pour vérifier les mot de passe stack overflow

    malheureusement la réponse est 'FALSE' ! je fais quelque chose de mal, j'ai raté qq chose ?

    L'unité regexpr de lazarus plante carrément sur cette regex !

    Si vous avez un indice je suis preneur !

Discussions similaires

  1. Regular expression qui ne fonctionne pas
    Par Remedy dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2007, 16h52
  2. [Regular expression] Possessive quantifiers
    Par Pragmateek dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 12h55
  3. [debutant] Regular Expression
    Par absolut75 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 13/06/2006, 01h43
  4. [RegEx] Empty regular expression
    Par Khrysby dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 22h25
  5. [Regular Expressions] Numérotation romaine
    Par ramalho dans le forum Valider
    Réponses: 3
    Dernier message: 24/02/2004, 17h43

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