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 :

Comment cr�er un regexp variable issu d'un array ? [RegExp]


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    165
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 165
    Par d�faut Comment cr�er un regexp variable issu d'un array ?
    Bonsoir,

    j'ai une question qui a du �tre pos�e 3 milliards de fois, mais malgr� mes recherches je ne trouve pas de r�ponse sur le net.

    J'ai un tableau aliment� assez simplement :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function addTest(id,title,url,filename,ext){
    	this.id = id;
            this.title = title;
            this.url = url;
    	this.filename = filename;
    	this.ext = ext;
    }
    var test = new Array(10);
    test [0] = new addTest(':)','toto','toto','./images/','toto','.gif');
    test [1] = new addTest(':(','tata','tata','./images/','tata','.gif');
    ...
    Et je voudrais faire une boucle sur ce tableau, pour faire ensuite des replace dans une chaine de caract�re.
    Donc il me faudra construire une expression r�guli�re � chaque boucle en r�cup�rant l'id du tableau cad et
    Sauf que lorsque mon script s'execute, il me dit qu'il y a un pb avec la parenth�se...que j'ai bien tent� de r�gler avec un caract�re d'�chappement (sans succ�s).

    Avant je faisais des var regExp = new RegExp(":\)","gi"); mais c'est vrai que l'�criture directe var regExp = /:\)/gi; est vachement plus simple.
    Par contre, comment l'utilisez dans ma boucle avec mon tableau ?
    car g�n�ralement je fais un test[i].id pour r�cup�rer ma valeur....

    Des id�es ?

    Merci

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    165
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 165
    Par d�faut
    Bon je n'ai rien compris mais faut doubler le caract�re d'�chappement pour que la parenth�se ne soit pas interpr�t�e.....

    Aucune id�e du pourquoi du comment.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var regExp = new RegExp(":\\)","gi");

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par Targan Voir le message
    Bon je n'ai rien compris mais faut doubler le caract�re d'�chappement pour que la parenth�se ne soit pas interpr�t�e.....

    Aucune id�e du pourquoi du comment.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var regExp = new RegExp(":\\)","gi");
    Parce que le caract�re "\" est d�j� un caract�re d'�chappement pour une chaine JavaScript, donc pour qu'il soit interpr�t� comme un antislash dans la regExp, il faut le double �chappement.
    Ceci dit,
    est la notation recommand�e.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    avec compile � partir d'un string
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    RegExp.escape = function(text) {
        return text.replace(/[-[\]/{}()*+?.,\\^$|#\s]/g, "\\$&");
    }
     
    var choups='./coucou/.'
    var reg=new RegExp()
    reg.compile(RegExp.escape(choups))
    alert (reg)
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [C#] Comment cr�er une variable globale?
    Par FraktaL dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 10/05/2017, 14h10
  2. R�ponses: 2
    Dernier message: 21/05/2007, 17h09
  3. R�ponses: 6
    Dernier message: 16/04/2007, 17h19
  4. [VB.Net] Comment cr�er une variable ?
    Par Fullmetal82 dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 26/01/2007, 10h26
  5. R�ponses: 9
    Dernier message: 31/07/2006, 21h19

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