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 :

Débutant - Expressions régulières


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Débutant - Expressions régulières
    Bonjour à toutes et à tous,

    Je lance le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi*.bak -e s=<cityarea>.{1,4}</cityarea>==g monfichier.xml
    et j'ai un message d'insulte qui me dit que le caractère < était inattendu...

    J'ai lu la FAQ et le tuto mais je n'ai rien trouvé concernant le caractère < ou >.

    Merci de vos lumières

    tirixil

    En fait il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi*.bak -e s="<cityarea>.{1,4}</cityarea>"==g monfichier.xml
    pour que ça fonctionne. Mais si quelqu'un peut m'expliquer pourquoi ? J'ai fait le test de mes expressions régulières avec RegexBuddy.

    Merci d'avance

    tirixil

  2. #2
    Membre confirmé
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    D'abord, je te conseille vivement de retirer l'étoile de l'option i, elle empêche le backup de fonctionner correctement.
    Ensuite, essaie en mettant toute ton expression entre apostrophes ou guillemets (et en prenant l'habitude de le faire systématiquement), ça devrait tout de suite marcher mieux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi.bak -e 's=<cityarea>.{1,4}</cityarea>==g' monfichier.xml
    En fait, le problème ne vient pas tant de Perl que du shell, qui découpe les choses à sa façon.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Merci pour ta réponse. Malheureusement cela ne fonctionne pas beaucoup mieux.
    Par exemple, si je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi.bak -e 's/<offence offencecd="700019000(1|2|3|4|5|6)">/<offence offencecd="7000190000">/g' monfichier.xml
    le système me retourne l'erreur suivante : 2 n'est pas reconnu en tant que commande interne.
    Je fais tourner ce script sur Windows si jamais...

    Merci

    tirixil

Discussions similaires

  1. [RegEx] Expression régulière débutant mettre texte en gras
    Par newbie_php dans le forum Langage
    Réponses: 11
    Dernier message: 20/01/2010, 11h57
  2. débutant expression régulière
    Par Tex-Twil dans le forum Langage
    Réponses: 6
    Dernier message: 17/08/2007, 12h12
  3. Réponses: 4
    Dernier message: 13/07/2007, 15h32
  4. [Débutant][Regex] Expression régulière adaptée
    Par hm1ch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/06/2007, 21h50
  5. [débutant] XML ou expressions régulières ?
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 28/10/2004, 16h17

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