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 :

[langage] comment trouver une ligne qui ne contient que toto


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 73
    Points : 66
    Points
    66
    Par défaut [langage] comment trouver une ligne qui ne contient que toto
    Hello
    Je fait des recherche dans un fichier et je souhaite trouver par exemple la ligne qui contient "toto" et rien d'autre devant ni derrière!!

    par exemple si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($str =~ /toto/)
    là je cherche si il ya toto dans $str
    mais moi je veut tester si $str = toto sans rien devant ni derrière
    vous allez me dire l'exemple est mal choisie car on peut faire des comparaisons de chaine.
    Mais imaginons que à la place de toto c'est une expression regulière.

    Par exemple pour chercher une ligne qui ne contient QUE des caractère invisible j'ai en vie de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($str =~ /^[\n|\s]+/) {
    	print "ok<br>";
    }
    mais ça ne marche pas il en fait le code cherche une ligne qui contient des caractère invisible.(pas QUE)

    NB comment on ecrit une tabulation en expression regulière

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Voili voilou ! J'ai juste rajouté 2 caractères à ton code /^toto$/

    ^ ---> signifie "commençant par", ici "commençant par toto"
    $ ---> "finissant par", ici "finissant par toto"

    a+

  3. #3
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    De plus, si tu veux repérer une ligne de cette forme là dans plusieurs lignes (le tout dans une seule string), il faut que tu rajoute le modificateur /m après la regex pour faire en sorte que ^ et $ matchent les début et fin de ligne et pas seulement le début et la fin de la string, comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($str =~ /^toto$/m)

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Sacré Jedai !!

    Où que je poste, tu as toujours le mot de la fin pour rajouter le truc qui tue, l'option qui fait encore + mieux que ce que j'ai proposé, t'es vraiment trop fort !

    T'es un vrai tueur en Perl !

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 02/11/2011, 08h47
  2. Comment trouver la ligne qui a le maximun?
    Par mutkas10 dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/06/2009, 18h40
  3. Comment trouver la ligne qui a le maximum ?
    Par mutkas10 dans le forum Débuter
    Réponses: 3
    Dernier message: 12/06/2009, 18h52
  4. [Aide]Comment trouver une ligne entièrement vide
    Par mickdu90 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 17/08/2007, 10h45
  5. Comment creer une BD qui contient d'image
    Par mamou30 dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/03/2007, 16h36

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