Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1625 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Sous groupe dans une regex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sous groupe dans une regex

n°1727238
nicodu95
Posté le 01-05-2008 à 13:43:48  profilanswer
 

Bonjour à tous !  :hello:

 

alors voilà mon problème :
j'ai la regex suivante :

Code :
  1. (.{1,5})((;TYPE=(.{3,4})){0,2}):(.*)


elle match ces deux chaines :

  • Citation :

    TEL;TYPE=CELL:0606070807

  • Citation :

    ADR;TYPE=home;TYPE=pref:;;;;;


Pour la 1ere la regex retourne :

  • group(1) = "TEL"
  • group(2) = ";TYPE=CELL"
  • group(3) = ";TYPE=CELL"
  • group(4) = "CELL"
  • group(5) = "0606070807"

c'est parfait. par contre, pour la 2ème, la regex retourne :

  • group(1) = "ADR"
  • group(2) = ";TYPE=home;TYPE=pref"
  • group(3) = ";TYPE=pref"
  • group(4) = "pref"
  • group(5) = ";;;;;"


alors que moi je voudrais avoir, pour la 2ème :

  • group(1) = "ADR"
  • group(2) = ";TYPE=home;TYPE=pref"
  • group(3) = ";TYPE=pref"
  • group(4) = "home"
  • group(5) = "pref"
  • group(6) = ";;;;;"


donc je voudrait savoir si c'est possible et si oui, comment ? j'ai chercher du coté des "avides", "rétiçants" et "possesifs" mais ça marche pas.

 

merci d'avance  :)


Message édité par nicodu95 le 01-05-2008 à 13:49:15
mood
Publicité
Posté le 01-05-2008 à 13:43:48  profilanswer
 

n°1728593
Smanux
Posté le 05-05-2008 à 13:37:46  profilanswer
 

Tu n'y arriveras pas de cette façon je pense, un groupe donné ne conserve que la dernière occurrence trouvée. Je te conseilles de procéder différemment, en appelant find() à répétition sur ton matcher pour trouver tous les TYPE=xyz de ta chaine.

n°1729140
nicodu95
Posté le 06-05-2008 à 17:15:25  profilanswer
 

j'ai cahnger de regex :

Code :
  1. (.{1,5})(;TYPE=(.{3,4})|;TYPE=(.{3,4});TYPE=pref){0,1}:(.*)


j'arrivve à faire ce que je veux avec  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Sous groupe dans une regex

 

Sujets relatifs
Matcher une regex plusieurs foisregex : supprimer les caractères répetés
attacher un compte unix a plusieurs groupeIdentifier deux nombres en REGEX
Probleme boost regex[JS] Regex : parseur BBCode
regex et nettoyage de code htmlRegex qui ne fonctionne pas
Methode agile et groupe de travail[java | regex]récuperer un sous groupe
Plus de sujets relatifs à : Sous groupe dans une regex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR