Expressions Régulières

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Expressions Régulières

Message par LeCyb »

Je sais qu'il existe une librairie sur purearea.net (par FloHimself).
Mais c'est une librairie "tierce" et je n'aime pas du tout utiliser une librairie dont je n'ai pas le code source et qui n'offre aucune garantie de support.

Donc je me demandais si les expressions régulières sont dans la roadmap de PB ou pas et si oui à quand ?

Si ce n'est pas à l'ordre du jour, comment peut-on "intégrer" une librairie existante (genre PCRE ou autre) pour en faire une librairie PB ?

A défaut, je suppose que c'est un travail de titan pour coder une telle librairie à partir de zéro ?
Vive le thread-safe !
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Je remonte un petit coup, on sait jamais :)
Vive le thread-safe !
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Et c'est quoi, les expressions régulières ?

Et ça sert à quoi, surtout?
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

les expressions régulières ?
c'est un truc trop puissant - mais là il est tard pour expliquer.
disons juste en gros que c'est une sorte de mini langage de recherche dans du texte. va voir là par ex : http://www.expreg.com/symbole.php
Image
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Comme le dit Flype, c'est très très puissant.

En gros le principe c'est faire un masque un peu spécial et d'appliquer ce masque sur une chaîne de caractères.
Selon les fonctions proposées tu peux "tester" ce masque, extraire une partie de la chaîne, compter les occurences, etc.

L'utilisation va de la simple vérification d'un format (email, adresse ip, etc.) jusqu'au parsing de pages html et autres.

Un exemple vaut mieux qu'un long discours:

Code : Tout sélectionner

Adresse IP:
"/^((25[0-5]|2[0-4]\d|1?\d?\d).){3}(25[0-5]|2[0-4]\d|1?\d?\d)$/"

Email:
"[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]+)"

Date de type 2006-05-20:
"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"
Au début c'est déroutant car c'est plutôt illisible.
Mais en regardant de plus près tu verras que c'est "construit" morceau par morceau genre:
[a-z] = alphabet minuscule
[a-Z] = alphabet minuscule + majuscule
^ = début de la chaîne
...
Vive le thread-safe !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

moi qui n'etait resté qu'aux joker "*","?" :lol: :lol:
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

+1 (ce n'est pas un exemple d'expression réguilière :) )
Répondre