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

Tcl/Tk Discussion :

Regex problème au niveau du pattern d'identification


Sujet :

Tcl/Tk

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Regex problème au niveau du pattern d'identification
    Bonjour à tous,

    J'aimerais réaliser une regex assez particulière je pense et j'ai un peu de mal à trouver le bon pattern, donc j'en appelle à cette grande communauté en espérant trouver un peu d'aide

    Un exemple vaut toutes les explications du monde :
    set chaine "ab/abcde/abc" // Suite de chaines quelconque séparées par des slash

    Je souhaite utiliser une regex et récupérer le résultat dans une liste

    > regexp $pattern $chaine liste_resultat

    La variable liste_resultat après l'utilisation de la regexp devra contenir les valeurs suivantes:

    > puts $liste_resultat
    ab/ ab/abcde ab/abcde/abc

    Le problème est que je n'arrive pas à trouver le bon pattern Donc si vous avez une solution et que vous voulez la partager avec moi, je vous remercie d'avance !! Et si vous souhaitez plus d'information pour comprendre mon problème, n'hésitez pas à me demander

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Tu ne peux pas obtenir ça d'un seul coup de regex (ou de baguette magique) pour une raison très simple: le moteur de regex ne peut pas donner plusieurs résultats pour une même position (or tes trois résultats souhaités commencent à la position zéro de la chaîne).

    Tu peux résoudre ça assez facilement en utilisant un simple split sur le slash, puis avec une boucle dans laquelle tu concatènes l'item courant avec le précédent.

    Ou alors en composant ta liste en enlevant successivement la fin de la chaîne en partant du dernier slash.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse, rapide et clair en plus

    J'utilise déjà la solution de secours que tu m'as proposée et je souhaitais simplement savoir si c'était possible en une seule regex.

    Encore merci et bonne journée !!

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

Discussions similaires

  1. [UBUNTU] Problème au niveau du partitionnement
    Par Louis-Guillaume Morand dans le forum Ubuntu
    Réponses: 19
    Dernier message: 19/07/2006, 18h05
  2. [CSS] Problème au niveau de la résolution
    Par shukin dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/10/2005, 13h29
  3. [PPC][C#][SQL2000] Problème au niveau de donné controlé
    Par Roach dans le forum Windows Forms
    Réponses: 16
    Dernier message: 21/09/2005, 22h08
  4. problème au niveau de restore database
    Par Redouane dans le forum Administration
    Réponses: 2
    Dernier message: 07/09/2005, 11h49
  5. [DNS MX]Avec DynDNS.org, problème au niveau du MX
    Par Swoög dans le forum Développement
    Réponses: 9
    Dernier message: 24/08/2004, 22h00

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