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 Perl Discussion :

Regex hash / tableau


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 9
    Par défaut Regex hash / tableau
    Bonjour,

    Je ne suis pas très fort en expression régulière c'est pourquoi je demande votre sollicitation

    J'ai des questions stockées comme clé dans une hash table (et réponse associée à la question comme valeur). J'ai un tableau simple qui contient des chaînes de caractère divers et variées.

    Le but est de savoir si une chaîne du tableau correspond à une question de la hash table.

    Je rencontre 2 difficultés :
    1) Certaines questions peuvent se ressembler. Par exemple :
    - Quelle est la couleur de votre table ?
    - Quelle est la couleur de votre chaise ?

    2) Les éléments de ma table peuvent contenir une question et des chaînes de caractère "indésirable". Par exemple :
    - blablablaQuelle la couleur de votre table?
    - Quelle est la couleur de votre table ?blablabla
    - Quelle est la couleblablablaur de votre table ?
    - blablablaQuelle est la coulblablablaeur de votre table ?blablabla

    Je remercie d'avance la personne qui pourrai me donner une piste.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    2) Est ce que la partie indésirable et toujours la même? si non ont elle une forme similaire?... si tu veux qu'on t'aide pour la regex, il serait bien que tu donnes plus de détails sur les chaines que tu as

    si la partie indésirable est aléatoire et sans modèle défini, il sera impossible, j'en ai peur, de la supprimer (surtout au milieu de la chaine)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 9
    Par défaut
    Oui c'est vraiment la chaîne qui arrive au milieu qui est gênante.

    Généralement, c'est des chaînes qui commencent avec une date (actuelle) de ce style :

    Jan 17 12:24:48 [localhost:cf.fsm.backupMailboxError:warning]: Failover monitor: partner mailbox error detected.
    Jan 17 12:24:48 [localhost:config.noPartnerDisks:CRITICAL]: No disks were detected for the partner; this node will be unable to takeover correctly
    Jan 17 12:24:48 [localhost:callhome.dsk.config:warning]: Call home for DISK CONFIGURATION ERROR
    Jan 17 12:24:48 [localhost:cf.fm.notkoverBadMbox:warning]: Failover monitor: uninitialized backup mailbox data detected

    Ce gros bloc peut s'intercaler au milieu d'une question.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    je pense tu n'arriveras pas à faire ce que tu veux

    quelque soit ton niveau en regex, il te faudra toujours un motif à rechercher par l'expression or toi tu n'en as aucune

    au mieux tu pourrais lui dire que le début c'est une date mais comment définir la fin???

    le plus simple serais peut être de résoudre le problème de cette insertion

  5. #5
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Si le bloc qui te gêne est toujours entre crochets et suivi d'un deux-points, alors c'est jouable (dans la mesure où il n'y a pas d'autres crochets). Exemple sous le debugger perl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      DB<1> $_ = 'Jan 17 12:24:48 [localhost:cf.fsm.backupMailboxError:warning]: Failover monitor: partner mailbox error detected. '
     
      DB<2>  s/\[[^]]*\]:/:/;
     
      DB<3> p $_
    Jan 17 12:24:48 : Failover monitor: partner mailbox error detected.

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    Citation Envoyé par Lolo78 Voir le message
    Si le bloc qui te gêne est toujours entre crochets et suivi d'un deux-points, alors c'est jouable (dans la mesure où il n'y a pas d'autres crochets). Exemple sous le debugger perl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      DB<1> $_ = 'Jan 17 12:24:48 [localhost:cf.fsm.backupMailboxError:warning]: Failover monitor: partner mailbox error detected. '
     
      DB<2>  s/\[[^]]*\]:/:/;
     
      DB<3> p $_
    Jan 17 12:24:48 : Failover monitor: partner mailbox error detected.
    en fait @Lolo j'avais compris que son problème c'est plutôt du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Quelle est la couleur Jan 17 12:24:48 [localhost:cf.fsm.backupMailboxError:warning]: Failover monitor: partner mailbox error detected. de votre table ?
    avec la partie en rouge à supprimer
    j'ai un doute d'avoir bien compris car je suis très perplexe sur le résultat

Discussions similaires

  1. regex sur tableau php
    Par skflers61 dans le forum Langage
    Réponses: 3
    Dernier message: 29/04/2014, 11h36
  2. regex et hash
    Par mauroyb0 dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2006, 15h47
  3. tableau comme valeur dans un hash de hash
    Par king_kunu dans le forum Langage
    Réponses: 2
    Dernier message: 02/01/2006, 16h05
  4. Génération d'une hash de hash de tableau
    Par antigone dans le forum Langage
    Réponses: 3
    Dernier message: 01/09/2005, 19h18
  5. Tableau de hash to hash
    Par shwin dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2005, 14h17

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