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 perl fichier


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Par défaut regex perl fichier
    Bonjour,

    Si je mets dans un fichier les lignes suivantes :

    type fonction1(arguments)
    type fonction2 (arguments)
    static type fonction3 (arguments)

    J'aimerais obtenir dans une expression régulière, le nom de la fonction, c.-à-d., fonction1, fonction2 et fonction3 quand je parcourais ces lignes du fichier.
    J'avais pensé à une expression régulière de ce genre :
    ($fonction) = ($line =~ /\s(.*)/);

    $fonction récupère fonction1 dans la 1ère ligne, puis $fonction récupère fonction2 dans la 2ème ligne, et ainsi de suite pour la 3ème ligne.

    Quelle expression régulière faudrait-il pour faire cela ?

    Merci.

  2. #2
    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
    Pour être un peu plus précis, je proposerais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my ($function_name) = $line =~ /\s([^\s]*?)\s*\(/;
    (testé avec les 3 exemples fournis).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    Pour être un peu plus précis, je proposerais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my ($function_name) = $line =~ /\s([^\s]*?)\s*\(/;
    (testé avec les 3 exemples fournis).
    Merci Philou67430.
    Peux-tu m'expliquer ton expression régulière ?

  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
    Bien sûr : /\s([^\s]*?)\s*\(/

    D'abord, le texte donc contenir un espace /\s/, suivi /([^\s]*?)/ d'un nombre quelconque de caractère autre que des espaces que je capture (mais en m'arrêtant dès que la suite du motif est trouvée : c'est une recherche non gourmande, définie avec *?), pour finir /\s*\(/ par un nombre nul ou quelconque d'espace suivi d'une parenthèse ouvrante.

    Voilà, je crois avoir été complet.

Discussions similaires

  1. [débutant] PERL :fichier saisi en variable ?
    Par laatysha dans le forum Langage
    Réponses: 9
    Dernier message: 17/06/2008, 14h07
  2. Perl, Fichier textes, et hashes
    Par Arnaud62 dans le forum Langage
    Réponses: 9
    Dernier message: 04/01/2008, 12h07
  3. Script perl: Fichier introuvable !
    Par Bruno51 dans le forum Langage
    Réponses: 3
    Dernier message: 04/10/2007, 11h29
  4. [Regex perl] Matcher un gros fichier
    Par osoumayaj dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 18/01/2007, 09h37
  5. regex dans fichier XML
    Par pouss dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 10/10/2006, 09h35

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