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 :

Regex d'extraction d'une chaine à partir d'un chemin de fichier


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 72
    Par défaut Regex d'extraction d'une chaine à partir d'un chemin de fichier
    Bonjour.

    Je suis en train de faire un script ant et dans celui ci je recupere une liste de fichier dont la sortie est :

    D:\Data\AP\PROJET\PLATEFORME INTEGRATION\apache-ant-1.8.0\projet\PLATEFORME\ressources\presta-projet1.xml

    La plateforme évolura de localisation et pour ce faire je cherche un moyen de sortir juste le "presta" grace à une première regex et juste le "projet1" avec une deuxieme regex peu importe ce qui précede.

    Et je dois avouer qu'avec mes (trop) modestes compétences je ne vois pas trop comment faire.

    En vous remerciant à l'avance :)

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonsoir,



    Si c'est "peu importe ce qui précède", alors comment on délimite ce qu'on veut capturer ?

    Je présume que ce que tu veux en réalité c'est extraire ce qui se trouve après le dernier caractère '\'.

    Mais on n'emploie pas une regex pour extraire une chaîne sur la base de la détection d'UN caractère !

    Des méthodes de chaîne suffisent amplement.

    En Python

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ch = 'D:\Data\AP\PROJET\PLATEFORME INTEGRATION\apache-ant-1.8.0\projet\PLATEFORME\ressources\presta-projet1.xml'
    u,sep,v = ch[ch.rfind('\\')+1:ch.rfind('.')].partition('-')
    on obtient presta dans u et projet1 dans v





    Mais puisque tu veux employer une regex , voici une RE qui devrait convenir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#\\\\([^\\\\]*?)-([^.\\\\]*?)\\..+\Z#'
    Elle ne marche que s'il y a effectivement un '-' séparant deux plages de caractères entre un antislash et un point
    Et le \Z oblige que ce soit en fin de chaine

Discussions similaires

  1. [AC-2010] [REGEX] Extraction d'une chaine
    Par illight dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/02/2014, 16h35
  2. Regex et extraction d'une sous-chaine
    Par Alex'78 dans le forum C
    Réponses: 1
    Dernier message: 28/02/2013, 07h45
  3. extraction d'une chaine à partir d'une autre
    Par prince_bouja dans le forum Débuter
    Réponses: 7
    Dernier message: 15/06/2010, 15h41
  4. Extraction d'une chaine à partir d'une photo
    Par Julaie95 dans le forum Traitement d'images
    Réponses: 31
    Dernier message: 23/05/2006, 15h44
  5. Extraction d'une chaine de caractères
    Par megane dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2004, 14h52

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