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] Variable retournée undefined


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Profil pro
    Dev NodeJS
    Inscrit en
    Août 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev NodeJS

    Informations forums :
    Inscription : Août 2006
    Messages : 177
    Par défaut [RegExp] Variable retournée undefined
    Bonjour,

    une question simple, pourquoi ce code qui est cencé récuperer le nom d'un select et la value marquée selected:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var pat = /<select.*name="(\w+)".*>(?:(?:\s*\n)*|\s*<option.*(?:value="(\w+)"\s*selected.*|value="\w+"\s*>.*))*\s*<\/select>/;
     
    var s = '<select name="nom">\n	      <option value="1"  > valeur 1 </option>\n	      <option value="2"  selected  > valeur 2 </option>\n	    </select>';
     
    var ret = pat.exec(s);
    Me retourne un ret[2] == undefined? J'attends "2". Mon pattern matche bien, le name est retourné mais la seconde variable qui est bien détectée n'est pas initialisée.

    J'avoue ne pas comprendre...

  2. #2
    Membre très actif Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Par défaut
    J'ai un peu de mal a cerner ton RegExp, mais tu verras que si tu enleve le dernier "\n" de ta variable "S", tu aura ton "2"

  3. #3
    Membre expérimenté
    Profil pro
    Dev NodeJS
    Inscrit en
    Août 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev NodeJS

    Informations forums :
    Inscription : Août 2006
    Messages : 177
    Par défaut
    Voila en fait le problème venait d'une part de la regexp et d'autre part de la gestin des "Non participating groups" Pour plus d'infos regardez sur ce blog

    D'après ce que j'ai compris, le fait par exemple de faire un | et de mettre une variable dans un terme implique que la regexp retournera une variable a undefined si l'on ne prends pas la branche ou la variable est définie.

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

Discussions similaires

  1. Variable me retourne undefined
    Par Namastaz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/03/2014, 13h12
  2. Variable qui retourne "undefined"
    Par chok371 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/01/2011, 20h27
  3. RegExp me renvois undefined ... sous IE
    Par le_chomeur dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/02/2006, 14h32
  4. [retour variable] retourner un type RECORD
    Par tyrann dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/11/2005, 14h38
  5. Controle variable a undefined
    Par krfa1 dans le forum ASP
    Réponses: 4
    Dernier message: 15/11/2005, 12h28

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