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 :

Extraire un nombre inconnu de variable d'une regex


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Sub
    Sub est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 20
    Par défaut Extraire un nombre inconnu de variable d'une regex
    Bonsoir à tous.

    Je me viens de me mettre au Perl et je bloque là-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m/Debut (?:(\d+)\.\s)*Fin/
    Ce regex récupère des lignes comme :

    Début Fin
    Début 1. 2. 3. 4. Fin
    Debut 1. Fin
    etc

    Le problème c'est que je ne sais pas comment récupérer les valeurs entre parenthèses avec $1, $2 etc dans ce cas puisque le pattern du milieu peut se répéter un nombre de fois indéfini.
    Vous avez une idée de la façon dont je peux faire ça ?

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    m/Debut (\d+\.\s)*Fin/;
    my @nums = split m/\.\s/, $1;
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    my @nums;
    if($str =~ m/Debut /g) {
      while($str =~ m/(\d+)\.\s)/g) {
        push @nums, $1
      }
      @nums = () if $str !~ m/Fin/;
    }
    --
    Jedaï

  3. #3
    Sub
    Sub est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 20
    Par défaut
    J'avais pas pensé au split, ça fonctionne très bien avec ça. Merci !

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

Discussions similaires

  1. [MySQL] extraire le choix dans un variable d'une liste déroulante mysql en php
    Par guytibo dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/12/2010, 20h17
  2. [PDO] Préparer des requêtes avec un nombre inconnu de variables
    Par php_de_travers dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/01/2010, 22h39
  3. nombre de JPanel variable dans une JFrame
    Par ale2000 dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 26/05/2008, 21h00
  4. Nombre de paramètres variables pour une procédure [SQLSERVER2005]
    Par chti_vince dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/07/2007, 12h59
  5. Réponses: 6
    Dernier message: 17/10/2006, 10h48

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