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 :

Besoin d'aide pour les expressions régulieres


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Besoin d'aide pour les expressions régulieres
    Bonjour tout le monde,

    J'éprouve de grande difficultés avec les expressions régulieres, j'y comprend strictement rien.

    Une personne saurait-il par exemple m'expliquer sa facons de faire avec un l'exemple ci-dessous:

    J'ai le string suivant dans une variable:
    [08/20/2009 15:38:07.205] [Error] [3081495456-toto.c:1824] Cannot open file '/usr/manager/svr/var/logs/20090807/Data.01'

    Je voudrais par exemple récupérer la chaine "20090807" et vérifier que celle-ci est bien constitué de 8 caractères.

    Comment feriez vous via des expressions régulieres pour récupérer cette chaine, apparement cela devrai prendre une ligne avec cette méthode ?


  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Tu peux bien sûr préciser le contexte mais l'idée est là (match et capture) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print $1 if $data =~ m{logs/(\d+)/}
    Pour t'initier au maniement des expressions réguilères, regarde déjà la FAQ et perlretut, puis n'hésite pas à poser des questions.

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # récupération du nombre
    if ( $string =~ m{logs/(\d+)/} ){
    	# vérification de sa taille
    	if (length $1 == 8){
    		print $string."\n";
    	}
    }
     
    # on ne récupère que les nombres à 8 chiffres
    if ( $string =~ m{logs/(\d{8})/} ){
    	print $string."\n";
    }

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 164
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # récupération du nombre
    if ( $string =~ m{logs/(\d+)/} ){
    	# vérification de sa taille
    	if (length $1 == 8){
    		print $string."\n";
    	}
    }
     
    # on ne récupère que les nombres à 8 chiffres
    if ( $string =~ m{logs/(\d{8})/} ){
    	print $string."\n";
    }
    Dans le premier cas, on récupère tous les chiffres et on vérifie qu'il y en a exactement 8.
    Dans le deuxième cas, si le nombre de chiffres est supérieur ou égal à 8, on récupère les 8 premiers. (on récupère exactement 8 chiffres et peut importe ce qui suit, ça peut être n'importe quoi, même d'autres chiffres)
    Nibroc.

Discussions similaires

  1. [PHP-JS] Besoin d'aide pour les bases en php !
    Par stevefigueras dans le forum Langage
    Réponses: 1
    Dernier message: 15/12/2006, 13h36
  2. Besoin d'aide pour les dates
    Par Aurore_atmo dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/07/2006, 15h37
  3. aide sur les expressions régulieres
    Par STEPH69000 dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2006, 17h54
  4. Besoin d'aide pour une expression reguliere
    Par Jim_Nastiq dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2006, 09h11
  5. Besoin d'aide pour une expression régulière
    Par planetiss dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2006, 19h04

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