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 :

expression régulière : invalid range in character


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Par défaut expression régulière : invalid range in character
    Bonsoir,
    L'expression régulière suivante génère
    invalid range in character class
    .
    Voici la chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.reg = /^[- A-Za-z éèçàùôî\\']+$/;
    .
    L'éditeur de code javascript est connu : Zend Studio for eclipse 6.1.0.
    Je fatique un peu...
    Merci !

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    je crois que tu dois échapper le signe - qui se trouve au début de ta regexp. Par ailleurs tu as mis deux fois l'espace dans cette expression.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.reg = /^[\\- A-Za-zéèçàùôî\\']+$/;

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Par défaut
    Merci
    D'autant que j'ai découvert - un peu tard - qu'il est possible de décrire un caractère en hexadécimal.
    Cela me fera gagner du temps.
    Encore MERCI

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par Auteur Voir le message
    bonjour,

    je crois que tu dois échapper le signe - qui se trouve au début de ta regexp. Par ailleurs tu as mis deux fois l'espace dans cette expression.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.reg = /^[\\- A-Za-zéèçàùôî\\']+$/;


    Si tu mets 2 "\", le premier échappe le second, et le "-" suivant n'est donc, lui, pas échappé du tout... ou c'est moi qui me plante ? (idem pour la quote à la fin de la regexp)

    J'aurais plutot supposé que :
    >>> quand on génère une regexp à partir du constructeur RegExp(String s), la chaine est d'abord interprétée au passage du paramètre et une seconde fois quand la regexp s'exécute, donc là oui on double le "\". Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.reg = new Regexp("^[\\- A-Za-zéèçàùôî\\']+$");
    >>> par contre, avec un littéral, pas besoin d'anticiper la première interprétation car elle n'aura pas lieu ^^

    (edit : je suis en train de tester et il me semble que ce que je raconte est faux
    Je n'ai pas le temps tout de suite de revérifier mais je vais refaire quelques tests plus tard, je dois faire une erreur grossière quelque part...
    )
    Heu... non c'est mon test qui était faux, le raisonnement est correct

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Par défaut
    La technique consistant à référencer les caractères ' par \x27 par exemple, fonctionne parfaitement....
    Merci de votre aide !
    Jean-Louis

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par RomainVALERI Voir le message


    Si tu mets 2 "\", le premier échappe le second, et le "-" suivant n'est donc, lui, pas échappé du tout... ou c'est moi qui me plante ? (idem pour la quote à la fin de la regexp)
    J'aurais écrit comme toi....

    Mais je me suis basé sur la précédente discussion de JLC83

  7. #7
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par Auteur Voir le message
    J'aurais écrit comme toi....

    Mais je me suis basé sur la précédente discussion de JLC83
    Ah oui effectivement ça me faisait une impression de déjà-vu

    Mais bon il n'aurait pas été inutile de préciser, sur le forum Javascript, quand on publie un extrait hyper court et qui, de plus, est tout-à-fait valide en JS donc est implicitement présenté comme tel, que c'est en fait du "JS-généré-par-PHP". (mais non je m'énerve pas mimiiiine... j'explique...)

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Par défaut
    J'insiste, il ne s'agit pas de PHP mais de JAVASCRIPT !
    Certes édité dans Zend Studio for eclipse mais dans l'éditeur javascript.
    Pour l'impression de déjà vu, je reconnais que...

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/11/2014, 08h50
  2. Expression régulière invalide
    Par Furr dans le forum Boost
    Réponses: 2
    Dernier message: 15/12/2009, 09h25
  3. Expression régulières poiur un format et un range
    Par Le-Cortex dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/11/2007, 15h21
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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