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] [expression reguliere] : syntaxe


Sujet :

Langage Perl

  1. #1
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut [langage] [expression reguliere] : syntaxe
    Bonjour,

    je voudrais comprendre cette syntaxe :

    Pour moi, cela remplace les " par les ' dans la variable,
    l'option s je pense que c'est recursif (parcours de toute la ligne)
    mais je n'ai rien trouvé pour l'option g.

    une idée?
    Merci

  2. #2
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut Re: [expression reguliere] : syntaxe
    Citation Envoyé par arcane

    une idée?
    oui... mais ça va à l'encontre de ce que tu dis

    - le 'g' à la fin c'est pour dire de remplacer toutes les occurences
    'i' voudrait dire 'insensible à la casse', 's' voudrait dire de traiter la variable comme étant multi-lignes (pas d'arrêt aux sauts de lignes), 'e' signifierait d'évaluer la deuxième opérande de l'opérateur s///
    - le s/<1>/<2>/<options> signifie que l'on va remplacer les motifs <1> par l'expression <2> avec les options <options> directement dans la variable impactée (dans ton exemple $var, si la variable n'était pas spécifiée, ce serait $_)


    pour toutes infos sur les expressions régulières en perl je te conseille la commande

  3. #3
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Donc j'etais pas loin, ca remplace toutes les occurences de " par ' dans toutes les lignes.
    Simple en fait...

    Merci

  4. #4
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    dans la première ligne s'il y a des sauts de ligne dans $var...
    si tu veux le faire dans toutes les lignes de $var


  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 583
    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 583
    Points : 2 031
    Points
    2 031
    Par défaut
    Dans l'expression régulière suivante :le "s" signifie substitute
    le "g" est comme une option et signifie global

    Littéralement, $var contient une donnée dans laquelle on a fait un remplacement global de tous les doubles quotes par des quotes simples

    C'est comme pour Le "tr" signifie translate

  6. #6
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par Arioch
    Dans l'expression régulière suivante :le "s" signifie substitute
    le s de s/// signifie 'substitute'
    le s de /gs signifie

    Treat string as single line. That is, change "." to match any
    character whatsoever, even a newline, which normally it would not
    match.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 583
    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 583
    Points : 2 031
    Points
    2 031
    Par défaut
    Sorry, je n'avais pas vu le s en fin de syntaxe

  8. #8
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    OK, donc pour un champ blob, en php, (c'est pas le bon forum, mais si je poste la bas, je me fais jeter)
    ca equivaut a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = ereg_replace ('\"','\'',$var);

  9. #9
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par arcane
    mais si je poste la bas, je me fais jeter
    ah : pourquoi :

    Citation Envoyé par arcane
    ca equivaut a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = ereg_replace ('\"','\'',$var);
    exactement

    ou bien (à la mode perl en php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = preg_replace ('/\"/','\'',$var);

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

Discussions similaires

  1. [langage] Expression régulière
    Par GMI3 dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2004, 14h15
  2. Réponses: 2
    Dernier message: 22/12/2003, 15h23
  3. [langage] [Expression][Régulière] motif
    Par Cyspak dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2003, 14h24
  4. Réponses: 2
    Dernier message: 16/06/2003, 15h15
  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