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]Répurer plusieurs motifs


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut [Regex]Répurer plusieurs motifs
    Bonjour,
    j'ai transformer un fichier en une chaîne de caractère, maintenant je doit découper cette chaîne en sous-chaîne suivant une expression régulière. Le problème vient du fait que j'ai plus de 9 motifs, donc impossible d'utiliser les variables $1...$9 pour répupérer mes motifs. Comment puis-je faire ?

    Merci

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Ton motif n'est pas utilisable avec un split ?

    Sinon, si tu as plus de dix parenthèses mémorisantes ou que tu fais une recherche globale (option g), plutot que d'utiliser les $1 à $9, tu as la solution de récupérer le résultat des matches de la regexp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @matches = ($chaine =~ m/motif_avec_plein_de_parenthèses/g);
    Voici un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my $ch='1-2-3-4-5-6/7/88*9*41+65+564-654';
    my @m=($ch =~ m/(\d*)/g);
    $,=' ';
    print @m;
    print "\n";

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par 2Eurocents
    Ton motif n'est pas utilisable avec un split ?
    En fait, au départ c'est une page HTML et je doit récupérer des info contenu dans un tableau donc il faut que je récupère chaque ligne (comprise en <th><tr>*</tr></th> je croi) mais les balises peuvent être sur une même ligne ou sur des lignes différentes (donc impossible de faire une annalyse ligne par ligne du fichier).

    Citation Envoyé par 2Eurocents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @matches = ($chaine =~ m/motif_avec_plein_de_parenthèses/g);
    Tout simplement c'est ce qu'il me faut, beaucoup

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

Discussions similaires

  1. [MySQL] regex : exploiter plusieurs pattern pour insert en BDD
    Par kairi084 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/11/2010, 21h46
  2. glob à plusieurs motifs
    Par blacksnake dans le forum Langage
    Réponses: 4
    Dernier message: 21/04/2007, 15h56
  3. Regex : Stocker les motifs compilés ?
    Par OrthoMaker dans le forum C++
    Réponses: 17
    Dernier message: 14/01/2007, 20h17
  4. [RegEx] regex : problème de motif
    Par poonoo dans le forum Langage
    Réponses: 12
    Dernier message: 25/09/2006, 13h02
  5. [Regex] Plusieurs motifs
    Par sissi_l dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/06/2004, 14h15

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