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

JavaScript Discussion :

RegExp et ^


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de nicolb
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 103
    Points
    103
    Par défaut RegExp et ^
    Bonjour à tous !
    A nouveau un petit problème au niveau de la définition d'une expression régulière. Je cherche, dans une chaîne de caractères, à remplacer les caractères suivants :"/?\()][^". Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var2 = var1.replace(/([\)\]\[\(\?\/\\])/g,"[\$1]");
    Avec ça, pas de problème.

    Mais dès lors ou je rajoute "\^" dans la définition de ma RegExp, le navigateur me retourne une erreur ("]" attendu dans l'expression régulière - sous IE).

    Comment faire pour que le caractère "^" soit interprété littéralement ? (j'avais lu que placer un "\" devant suffisait... Mais apparemment non).

    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de jérôme
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 591
    Points : 1 071
    Points
    1 071
    Par défaut
    Ben tu le mets tout simplement. S'il n'est pas au début de ta classe de caractères, il n'est pas considéré comme caractère spécial.
    D'ailleurs c'est vrai pour les autres également
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var2 = var1.replace(/([\)\][(?\/\\^])/g,"[\$1]");

  3. #3
    Membre régulier Avatar de nicolb
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 103
    Points
    103
    Par défaut
    En fait mon erreur ne venait pas de cette RegExp, mais d'une autre définie à partir de celle-ci ! Et il fallait que j'ajoute un deuxième "\" devant le $1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var2 = var1.replace(/([\)\][(?\/\\^])/g,"[\\$1]");
    Et effectivement dans ce cas ta syntaxe fonctionne correctement.

    Merci pour ta réponse !

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

Discussions similaires

  1. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  2. [langage] [RegExp] Détecter un chemin Windows
    Par GLDavid dans le forum Langage
    Réponses: 3
    Dernier message: 01/09/2004, 14h57
  3. [langage] [RegExp] Récupérer une portion de phrase
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2004, 22h01
  4. [langage] [RegExp] Question d'expression régulière
    Par cloogy dans le forum Langage
    Réponses: 5
    Dernier message: 08/10/2003, 09h29
  5. regexp
    Par mathieu gérard dans le forum ASP
    Réponses: 4
    Dernier message: 02/10/2003, 18h05

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