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

Java Discussion :

group pour des expressions régulières


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut group pour des expressions régulières
    Bonjour,

    J'ai un problème avec des sous-masques. J'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String unité="(mcg)|(g)|(mg)|(u)|(mu)|(ui)|(mui)";
    		Pattern p=Pattern.compile("([0-9,.]+)("+unité+")/([0-9,.]+)("+unité+"|(ml))",Pattern.MULTILINE | Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
    		Matcher m=p.matcher("<b>TRIFLUCAN 2MG/1ML INJ FV50ML                                                     </b>");
    		m.find();
    		String dos1=m.group(1),unité1=m.group(2),dos2=m.group(3),unité2=m.group(4);
    Ma questuib c'est pourquoi dos2 et unité2 sont à null alors que dos1 et unité1 ne le sont pas ?

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Parce que leurs numéros de groupe ne sont ni 3 ni 4.
    Comment t'y es-tu pris pour les calculer ?

    Voir la JavaDoc.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    votre expression au final est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([0-9,.]+)((mcg)|(g)|(mg)|(u)|(mu)|(ui)|(mui))/([0-9,.]+)((mcg)|(g)|(mg)|(u)|(mu)|(ui)|(mui)|(ml))
    Et voilà à quoi correspondent les groupes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ([0-9,.]+)((mcg)|(g)|(mg)|(u)|(mu)|(ui)|(mui))/([0-9,.]+)((mcg)|(g)|(mg)|(u)|(mu)|(ui)|(mui)|(ml))
    1         23     4   5    6   7    8    9      1         11     1   1    1   1    1    1     1
                                                   0         12     3   4    5   6    7    8     9
    Si vous voulez pas être emmerdé par vos parenthèses intermédiaires, utiliser des groupes sans capture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String unité="(?:mcg)|(?:g)|(?:mg)|(?:u)|(?:mu)|(?:ui)|(?:mui)";
    Pattern p=Pattern.compile("([0-9,.]+)("+unité+")/([0-9,.]+)("+unité+"|(?:ml))",Pattern.MULTILINE | Pattern.DOTALL | Pattern.CASE_INSENSITIVE);

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Couper et stocker des expressions régulières pour utilisation future
    Par ManusDei dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 01/08/2012, 16h05
  2. extraction des groupe des expression régulières
    Par TaymouWan dans le forum C#
    Réponses: 4
    Dernier message: 22/05/2009, 13h27
  3. Réponses: 1
    Dernier message: 03/02/2006, 13h35
  4. [RegEx] Traduire des "expression régulières" VBA en PHP
    Par jcachico dans le forum Langage
    Réponses: 13
    Dernier message: 19/01/2006, 15h02
  5. need help pour : boucle & expression régulière
    Par Fabouney dans le forum Langage
    Réponses: 5
    Dernier message: 05/08/2005, 03h22

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