Etienne BAUDOUX

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX

Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €
anipassion.com

3 participants

    Les expressions régulières (regex) avec Software Zator 2012

    polien
    polien



    Masculin Nombre de messages : 3003
    Age : 28
    Localisation : Bouches du Rhones
    Emploi/loisirs : velo, informatique, électronique, robotique, modélisme feroviaire
    Humeur : Je commence tout mais ne finit rien :P
    Date d'inscription : 19/05/2011

    Les expressions régulières (regex) avec Software Zator 2012 Empty Les expressions régulières (regex) avec Software Zator 2012

    Message par polien Dim 20 Jan 2013 - 17:11

    Bonjour à tous Smile

    Les regex sont un outil (ou plutôt un système) très puissant permettant de vérifier la syntaxe d'une chaîne de caractères. Plus précisément, c'est vérifier que la chaîne de caractères à examiner respecte un motif ou une série de motifs. On s'en sert dans de nombreux sites internet comme pour le bbcode d'un forum ou dans des logiciels de traitement de texte.

    Je vais vous apprendre à les utiliser, pour suivre ce tutoriel, je vous ait créé un petit programme:
    Les expressions régulières (regex) avec Software Zator 2012 P-181213

    se programme va permettre de voir l'effet des regex que vous allez rentrez sur une phrase ou un texte, voici un exemple
    d'utilisation de ce programme:
    Les expressions régulières (regex) avec Software Zator 2012 2013-018

    dans ce cas la le programme remplace tout les numéros de téléphones valides par la phrase: "numéro de téléphone correct"

    un régex est, comme vous avez pu le voir dans la capture d'écran, un ensemble de caractère mit de façon bizard, en fait ses caractères ont une signification, en fait, au lieu d'écrire:
    Code:
    2 chiffre un tiret 2 chiffre un tiret...
    on écrit:
    Code:
    (\d\d)\W
    pour dire: 2 chiffres et un espace ou un tiret ou un point...

    Ainsi, on dresse la liste suivante pour le "codage" des régex:

    Symbole
    Correspondance
    Exemple


    \
    Caractère d'échappement
    [\.] contient un "."


    ^
    Début de ligne
    ^b$ contient uniquement b


    .
    N'importe quel caractère
    ^.$ contient un seul caractère


    $
    Fin de ligne
    er$ finit par "er"


    |
    Alternative
    ^(a|A) commence par a ou A


    ( )
    Groupement
    ^((a)|(er)) commence par a ou er


    -
    Intervalle de caractères
    ^[a-d] commence par a,b,c ou d


    [ ]
    Ensemble de caractères
    [0-9] contient un chiffre


    [^]
    Tout sauf un ensemble de caractères
    ^[^a] ne commence pas par a


    +
    1 fois ou plus
    ^(a)+ commence par un ou plusieurs a


    ?
    0 ou 1 fois
     ^(a)? commence ou non par un a


    *
    0 fois ou plus
    ^(a)* peut ou non commencer par a


    {x}
    x fois exactement
    a{2} deux fois "a"


    {x,}
    x fois au moins
    a{2,} deux fois "a" au moins


    {x, y}
    x fois minimum, y maximum
    a{2,4} deux, trois ou quatre fois "a"


    on a également inventé des expression pour simplifier ces regex:



    Alias
    Correspondance
    Equivalence


    \n
    Caractère de nouvelle ligne
     


    \r
    Caractère de retour à la ligne
     


    \t
    Caractère de tabulation
     


    \s
    Caractère d'espacement (espace, tabulation, saut de page, etc)
    [\f\n\r\t\v]


    \S
    Tout ce qui n'est pas un espacement
    [^\f\n\r\t\v]


    \d
    Un chiffre
    [0-9]


    \D
    Tout sauf un chiffre
    [^0-9]


    \w
    Un caractère alphanumérique
    [a-zA-Z0-9_]


    \W
    Tout sauf un caractère alphanumérique
    [^a-zA-Z0-9_]


    \n
    Caractère en octal ex:\001 ==> " 1 "
     


    \xn
    Caractère en hexadécimal ex: \x41 ==>" A "
     



    Voici quelques exemples et leur utilitées:
    (\d\d)\W(\d\d)\W(\d\d)\W(\d\d)\W(\d\d) un numéro de téléphone
    ^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$ une adresse ip
    ^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$ un email

    pour utiliser ses regex, il vous faut faire executer la fonction Replace d'une variable de type regex. Vous trouverez si dessous les sources du logiciel que j'ai créé:
    Les expressions régulières (regex) avec Software Zator 2012 P-181222

    n'hésitez pas à les modifier pour comprendre le fonctionnement

    Bonne journée Very Happy
    lereparateurdepc
    lereparateurdepc



    Masculin Nombre de messages : 5622
    Age : 32
    Localisation : Calvados
    Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
    Humeur : toujours cool
    Date d'inscription : 31/01/2010

    Les expressions régulières (regex) avec Software Zator 2012 Empty Re: Les expressions régulières (regex) avec Software Zator 2012

    Message par lereparateurdepc Dim 20 Jan 2013 - 20:39

    re,

    Je ne comprend pas l'intéret de ce système...... mais bon.
    J'utilise une fonction plus simple pour un e-mail .....:
    je regarde si il y a le @ si oui je fait un découpage de ma chaîne au niveau du @.

    en parlant du mail, ton regex ne fonctionne pas si le particule de gauche est composé :
    exemple@fai.fr -> OK
    test.exemple@fai.fr -> OK mais non valide par ton soft.

    idem pour les IP : le soft accepte 255.255.255.255 ce qui est impossible pour une IP (et j'en passe)
    Il n'est fonctionnel QUE pour les IPv4.
    Forme de l'IPv6: 2001:0660:7401:0200:0000:0000:0edf:bdd7

    Pour résumer, c'est peut-être utile mais je ne pense pas que beaucoup d'utilisateurs de Sz l'utiliserons car trop complex.
    ça reste une analyse grocière du texte.

    Perso, plutôt que de m'énerver avec des caractères complètement inconnus, je préfaire coder mon propre algo de vérification
    c'est plus simple et plus clair! Smile

    J'encourage quand-même les utilisateurs à poster ce type de tuto/astuces même complex ..... Un jour, on s'en servira peut-être ! Smile

    J'aurais appris un truc sur l'informatique aujourd'hui car le regex était inconnu de mon langage ! Smile

    Cordialement ,
    le réparateur de PC
    polien
    polien



    Masculin Nombre de messages : 3003
    Age : 28
    Localisation : Bouches du Rhones
    Emploi/loisirs : velo, informatique, électronique, robotique, modélisme feroviaire
    Humeur : Je commence tout mais ne finit rien :P
    Date d'inscription : 19/05/2011

    Les expressions régulières (regex) avec Software Zator 2012 Empty Re: Les expressions régulières (regex) avec Software Zator 2012

    Message par polien Lun 21 Jan 2013 - 9:15

    re,

    en fait, quand on le connait bien, se système peut être très utile car il peut éviter d'avoir à faire une infinité de test. Mais il n'est à utiliser que si on doit faire des centaines de test à la chaine de caractère, sinon s'est vrai que pour récupérer un mot qui commence par une majuscule ou une minuscule, sa ne vaut pas trop la peine Wink .

    Cordialement,
    Polien
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    Les expressions régulières (regex) avec Software Zator 2012 Empty Re: Les expressions régulières (regex) avec Software Zator 2012

    Message par Admin Lun 21 Jan 2013 - 10:06

    Bonjour,

    Très bon tutoriel et très utile Very Happy

    Bonne continuation Smile
    polien
    polien



    Masculin Nombre de messages : 3003
    Age : 28
    Localisation : Bouches du Rhones
    Emploi/loisirs : velo, informatique, électronique, robotique, modélisme feroviaire
    Humeur : Je commence tout mais ne finit rien :P
    Date d'inscription : 19/05/2011

    Les expressions régulières (regex) avec Software Zator 2012 Empty Re: Les expressions régulières (regex) avec Software Zator 2012

    Message par polien Lun 21 Jan 2013 - 12:35

    Admin a écrit:Bonjour,

    Très bon tutoriel et très utile Very Happy

    Bonne continuation Smile
    bonjour,

    merci Wink

    Contenu sponsorisé


    Les expressions régulières (regex) avec Software Zator 2012 Empty Re: Les expressions régulières (regex) avec Software Zator 2012

    Message par Contenu sponsorisé


      La date/heure actuelle est Jeu 21 Nov 2024 - 15:33