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

Langage PHP Discussion :

Groupes et numérotation [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut Groupes et numérotation
    Bonjour,

    J'ai un souci concernant l'ordre des éléments dans un groupe.

    Soit la chaine "28.09.2009 - 11h25"

    Si je la traite avec la regex
    ([0-9]+)\.([0-9]+)\.([0-9]+)\s*-\s*([0-9]+)h([0-9]+)

    Je récupère bien
    28-09-2009-11-25

    Mais je souhaite prévoir une situation où les éléments de départ sont
    dans un ordre incorrect. Le cas échéant, je souhaite numéroter les données avec une regex du type :
    ([0-9]+)\2\.([0-9]+)\1\.([0-9]+)\s*-\s*([0-9]+)h([0-9]+)

    Cette ligne permettrait de corriger une inversion du type
    09-28-2009-11-25.

    Le problème donc est que ma regex ne restitu aucun résultat lorsque je
    tente de lui préciser un ordre des données.

    Je précise que cette regex est exploitée dans un prog Java (si ça change qqc).

    Des idées ?
    Merci.

  2. #2
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    Salut, je pense que la solution est limité de toute façon, comment savoir si la véritable date est 02-04-2009 ou 04-02-2009 par ton regex..?

  3. #3
    Membre éclairé
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    Ah oui, je n'ai pas précisé mais je souhaite définir la numérotation en amont car je connais les particularités des différentes chaines.

    Je définirais une fois pour toutes que les chaines issues :
    - des fichiers A ont un format de type ()/1()/2()/3
    - des fichiers B ont un format de type ()/2()/3()/1
    etc.

    Le problème n'est pas de définir la numérotation mais de faire qu'elle
    soit interprétée. Pour l'instant la regex ne donne rien donc je me pose la question de savoir si ma syntaxe est bonne.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Pas bien capté. Tu veux que tes captures soient ordonnées dans le tableau des captures d'un preg_match ?

    Au lieu de réordonner, ne serait il pas plus simple de nommer tes masques ?

    ((?P>dd)[0-9]+)\.((?P>mm)[0-9]+)\.((?P>YYYY)[0-9]+)\s*-\s*((?P>HH)[0-9]+)h((?P>ii)[0-9]+)

    Syntaxe à vérifier.

  5. #5
    Membre éclairé
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    Oooooh, ça m'a l'air intéressant ça.

    Je google le "nommage des masques" et reprends contact...

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    flute zut, j'avais un peu oublié la syntaxe de nommage

    (?P<jour>[0-9]+)... etc

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

Discussions similaires

  1. [AC-2002] Numérotation de groupe spécifique mais automatiquement incrémentable
    Par sylvie dans le forum Modélisation
    Réponses: 1
    Dernier message: 21/04/2010, 17h58
  2. [AC-2007] Numérotation d'enregistrements par groupe
    Par jekwalla dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/03/2010, 10h55
  3. RegExp, groupes et numérotation
    Par devroot dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 15/09/2009, 12h31
  4. numéroter les lignes par groupe
    Par Kurdran dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/04/2008, 14h08
  5. Comment numéroter des dates dans chaque groupe?
    Par MARCO63 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/01/2008, 03h02

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