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 :

[EXPRESSION REGULIERE][COMMENTAIRE] comptenu du commentaire


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut [EXPRESSION REGULIERE][COMMENTAIRE] comptenu du commentaire
    Bonjour,

    je voudrai supprimer tous les commentaire comptenat la suite de lettre "EXEC SQL"...

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $txt =~ s/(\/\*)(([^\*E]*|\*[^\/]|E[^X]|EX[^E]|EXE[^C]|EXEC[^ ]EXEC [^S]|EXEC S[^Q]|EXEC SQ[^L])*EXEC SQL)*(\/)//igsm;
    Il semble qu'il ne matche rien du tout...

    Merci de votre aide,
    ++floanne.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    montre nous ton fichier avec un exemple de ligne à supprimer.
    Ce sera plus clair.

  3. #3
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    Ca ressemble à ça :

    du code c

    /* du code c

    EXEC SQL ma requete
    la suite de ma requete ;

    encore du code c */

    Sachant qu'il peut y avoir tous les cas de figure (plusieurs reqauetes, pas de code c...)
    Le critère principal est donc que le commentaire contienne une fois au moins la chaine "EXEC SQL"...

    Merci,
    ++floanne.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    juste pour te guider, comment t'y prends tu?
    tu mets ton script dans une variable?
    Arrive tu tout simplement à supprimer le contenu entier d'une varible (c''est à dire supprimer le contenu entre /* et */ )?

    essaye déjà ça et montre nous ton script

  5. #5
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    $txt contient tout le code d'un fichier...

    Sinon oui j'arrive à virer tous les commentaire avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $txt =~ s/(\/\*)([^\*]*|\*[^\/])*(\*+\/)//;
    ++floanne.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    je vais te guider.
    Voici une expression regulière beaucoup plus propre qui supprime tous les commentaires en C d'un code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    my $script = "cette phrase (hello!) !\n/* commentaire \n commentaire\n */\n script script\n script\ncette phrase (hello!) !\n/* commentaire \n commentaire\n */\n script script\n script\n";
    print $script;
    $script =~ s{
                /\*  # Debut du commentaire C
                .+?  # => commentaire en C
                \*/  # Fin du commentaire C
                }
                {}msxg;
    print $script;

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

Discussions similaires

  1. Expression reguliere pour enlever les commentaires
    Par fafoula dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/07/2008, 10h00
  2. [Regexp] expressions regulieres et commentaires
    Par floanne dans le forum Langage
    Réponses: 12
    Dernier message: 09/02/2006, 11h52
  3. Réponses: 2
    Dernier message: 16/06/2003, 15h15
  4. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2003, 17h06
  5. [langage] expression reguliere motif répétitif dans 1 pattern
    Par comme de bien entendu dans le forum Langage
    Réponses: 11
    Dernier message: 09/04/2003, 16h14

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