IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 5 fois
Vote des utilisateurs
2 
0 
Détails
Éditeur : Benjamin Rosseaux
Licence : GPL
Mise en ligne le 25 septembre 2015
Plate-forme : Windows
Langue : Anglais
Référencé dans
Navigation

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, [b]FLRE.pas[/b] et [b]FLREUnicode.pas[/b]. 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.
Avatar de Roland Chastain
Rédacteur/Modérateur https://www.developpez.com
Le 26/09/2015 à 9:06
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.
Avatar de Roland Chastain
Rédacteur/Modérateur https://www.developpez.com
Le 28/11/2015 à 9:29
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
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.
Avatar de mtournay
Membre habitué https://www.developpez.com
Le 29/06/2018 à 16:43
Bonjour

j'essaye d'utiliser

Code pascal : Sélectionner tout
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 !
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.