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 : Extraction d'une substring


Sujet :

Langage Perl

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 221
    Par défaut REGEX : Extraction d'une substring
    Bonjour,

    j'ai une string qui peu prendre une des deux formes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    05-13-01-20-31   XY :13   TCB= F8700440   US= 00000000   SS= F8700D40   MS= F8700D40
    ou
    05-13-01-20-31   XY: 13   TCB= F8700440   US= 00000000   SS= F8700D40   MS= F8700D40
    Après "XY" il y a le caractère ":" qui sera précédé ou succédé d'un espace

    J'ai besoin d'extraire dans l'exemple ci-dessus, le chiffre 13 qui succède à XY

    J'utilise la commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ($yy) = $string =~ m/XY\s:(.{2})|XY:\s(.{2})/;
    mais dans le second cas (espace après les ":"), cela ne fonctionne pas et je n'arrive pas à trouver l'erreur.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 184
    Par défaut
    Utilise plutôt une expression plus simple :

  3. #3
    Membre expérimenté
    Homme Profil pro
    Gérant infopsylon
    Inscrit en
    Juin 2010
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Gérant infopsylon
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 215
    Par défaut
    Bonjour,

    De mon coté je n'arrive pas à faire fonctionner ton expression régulière... Qu'est ce que tu as comme message ?

    Sinon, j'ai essayé avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ($yy) = $string =~ /XY[^0-9]*([0-9]{2}).*/;
    Lilian.

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    La regexp de dimitry placée dans l'expression de mamax fonctionne pourtant parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $string = "05-13-01-20-31   XY :13   TCB= F8700440   US=00000000   SS= F8700D40   MS= F8700D40";
    ($yy) = $string =~ /XY\s*:\s*(\d+)/;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 221
    Par défaut
    Merci à tous pour vos propositions

    Bon, comme c'est le week end, cela attendra donc lundi.

    @lilian_h
    Dans le cas qui ne fonctionne pas, je n'ai pas de messages d'erreur, c'est juste que le prog me retourne rien dans $xy.

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. [RegEx] Regex d'extraction d'une chaine à partir d'un chemin de fichier
    Par cryosore dans le forum Langage
    Réponses: 1
    Dernier message: 07/03/2010, 20h47
  4. regex / extraction de données dans une chaine
    Par fred6609 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/01/2009, 08h34
  5. [REGEX] Extraction d'une adresse email
    Par ploxien dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/11/2008, 17h32

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