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

Collection et Stream Java Discussion :

[JFlex] Expressions régulières


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut [JFlex] Expressions régulières
    Salut !

    Pour les puristes : C'est une question qui a plus attrait aux expressions régulières mais c'est avec JFlex, alors je poste ici...

    Alors voila le problème...

    J'ai fait un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ...
    %% /* Expressions */
     
    /* a digit */
    D			=[0-9]
    /* frame number... */
    FrameNumber     ={D}+
     
    %% /*rules*/
     
    ^"0"{12}{sp}*{FrameNumber}/"|"	{
    	System.out.println("\tNumber:"+yytext());
    }
    pour parser un fichier comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    000000000000    1|  0:00:00|      0|yyyy     |**************                       
    000000000000    2|  0:00:00|      0|yyyy     |xxxx                   
    ...
    et j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Number:000000000000    1
    Number:000000000000    2
    Je voudrais savoir si il est possible de spécifier que mon Number est précéder de 12 zéros mais que je ne veux pas les afficher...
    Un peu comme je fais pour le pipe (/"|") à la fin...
    J'ai essayé au de faire pareil pour mes zéros mais sans résultat (une ptite erreur)...

    J'espère que ce n'est pas trop brouillon...
    +++
    Ju

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    yytext().replaceAll("^0+", "")

  3. #3
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Merci, c'est ce que je fais pour le moment... Je pensais qu'on pouvait directement faire ca dans la regexp...

  4. #4
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    J'ai du mal a lire la syntaxe de ton exemple JFlex mais en gros tu dois definir ta trame comme etant [1-9][0-9]* au lieu de [0-9]+ comme tu le fais actuellement.

  5. #5
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Je résume en français le principe (selon moi) :

    ^"0"{12}{sp}*{FrameNumber}/"|"

    Ligne commencant par 12 zéros (^"0"{12}) avec ou sans espaces (sp) qui contient un numéro de frame (FrameNumber) et se termine par un "|" (sans le prendre pour autant dans la phrase résultante).

    J'ai essayé avec ta technique... Ca ne fonctionne pas, il ne reconnait pas le pattern... bizarre...

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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