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 :

regex en JavaScript [RegExp]


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut regex en JavaScript
    Bonjour � toutes et � tous.

    Mon probl�me est tr�s simple, je voudrais chercher dans une chaine de caract�re, ceci : /ad/ et j'ai donc fais cel� :

    Ca fonctionne mais dans ce cas �a ne recherche que le ad.

    Si je fais ceci :

    Ca ne fonctionne plus, quelqu'un pourrait-il me dire pourquoi ?

    Merci pour votre aide.

  2. #2
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    salut

    Pourquoi as-tu envisag� d'�crire
    ?
    telle est la question...

  3. #3
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Ah oui, exact. Donc pour le moment je cherche la chaine de caract�re ad.
    J'aimerais chercher /ad/

    D'o� mon deuxi�me essai qui ne fonctionne pas, d�sol� pour l'oubli

  4. #4
    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
    il faut echapper les / qui sont les delimiteurs de reg en js
    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 !

  5. #5
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Oui mais j'ai essay� ce genre de chose et �a ne fonctionne pas.

    Pour le coup, l�, �a ne me bloque pas la page mais �a ne s�lectionne pas se que je voudrais.

    Merci

    EDIT : avec la modification (ne pas regarder le premier bloc, j'ai deux regex, la deuxi�me changera quand la deuxi�me fonctionnera). Le NB est s�lectionn� � la place de AD.

  6. #6
    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
    �a fonctionne parfaitement ...
    http://jsfiddle.net/bG8Lq/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 !

  7. #7
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    Ok mais est-ce que tu as regard� ma page ?
    Parce que j'ai �a aussi mais pourtant le r�sultat n'est pas correct.

  8. #8
    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
    je n'ai pas vu a quel endroit ...
    copie le code incrimin� ici ton code ne g�n�rant par d'erreur il est difficile de savoir ce que tu cherches a faire
    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 !

  9. #9
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Alors, le d�but de mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	else {
    		var location = localStorage.getItem('location');
    		var locationSite = window.location.href;
    		var nbrImage = localStorage.getItem('nbr');
     
    		if( location == locationSite || location + "#" == locationSite ) {
    			try {
    				for( var i = 0 ; i < nbrImage ; i++ ) {
     
    					datas[i] = JSON.parse(localStorage.getItem('local' + i));
     
    					var categorie = picture.match(/\/ad\//gi);
    Et plus loin :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    if (categorie == 'ad') {
    						$('#ad' + i).addClass('color');
    					}
    					else {
    						$('#nb' + i).addClass('color');
    					}

  10. #10
    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
    d'un cot� tu matches /ad/, de l'autre tu compares avec ad ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var categorie = picture.match(/\/ad\//gi);
    l� cat�gorie vaut "/ad/" et pas "ad"

    utilise la reg suivante puis exec...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    reg=/\/(ad)\//g;
    categorie =reg.exec(chaine)[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 !

  11. #11
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Rhooo le boulet !!! Ca ne m'a pas choqu� une seule seconde...

    Tu peux m'expliquer reg.exec(chaine)[1]; ?

    Merci par contre pour ta r�ponse.

  12. #12
    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
    a priori match a l'air d'avoir du mal � capter les \/

    je passe donc par exec, le [1] repr�sente le premier niveau de parenth�ses de la 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 !

  13. #13
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Le premier niveau de parenth�ses ?

    Bon avec ton code, �a ne fonctionne plus.

    Quand tu dis : categorie =reg.exec(chaine)[1];

    chaine c'est bien la chaine de caract�re o� tu proc�de � ta recherche non ?

  14. #14
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    a priori match a l'air d'avoir du mal � capter les \/
    Quoi !?
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  15. #15
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Je ne comprends pas la signification du [1]
    Je ne sais pas non plus pourquoi tu as mis ad entre parenth�se
    Et actuellement, sur ma page, une fois sur deux, il affiche ad, donc il matche qu'une fois sur deux

  16. #16
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Alors si je fais :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if (regexAD.exec(picture) == '/ad/') {
    Une fois sur deux, mais si je fais :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if (picture.match(regexAD) == '/ad/')
    Ca marche. Une explication ?

  17. #17
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    ca n'a pas de sens ce que tu fais, match retourne un tableau, et tu le compare � une string

    Autant directement remplacer ce code par :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $('#' + picture.match(/\/(ad|nb)\//)[1] + i).addClass('color');

  18. #18
    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
    Citation Envoy� par watilin
    Quoi !?
    Ben je ne re'trouve pas les groupes avec ce code ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    chaine="qdsfsdf/qsdfsdqf/qdsqfd/ad/dssqf/sqdfsdf.jpg"
    reg=/(\/)(ad)(\/)/g;
    categorie =chaine.match(reg);
    alert(categorie)
    alors qu'avec exec j'ai les groupes
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    chaine="qdsfsdf/qsdfsdqf/qdsqfd/ad/dssqf/sqdfsdf.jpg"
    reg=/(\/)(ad)(\/)/g;
    categorie =reg.exec(chaine)
    alert(categorie)
    </script>
    MAIS en fait je viens de m'apercevoir que cela est du au modifyer g

    et donc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    chaine="qdsfsdf/qsdfsdqf/ad/dssqf/sqdfsdf.jpg"
    reg=/\/(ad)\//;
    categorie =chaine.match(reg)
    alert(categorie)
    on capture bien juste ad dans le groupe 1

    Par contre javascript n'a pas l'air de comprendre les groupes non capturants ??

    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 !

  19. #19
    Membre confirm�
    Inscrit en
    F�vrier 2008
    Messages
    190
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 190
    Par d�faut
    Citation Envoy� par arnogues Voir le message
    ca n'a pas de sens ce que tu fais, match retourne un tableau, et tu le compare � une string

    Autant directement remplacer ce code par :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $('#' + picture.match(/\/(ad|nb)\//)[1] + i).addClass('color');
    Oui, �a n'a pas de sens parce que je n'avais pas compris le [1] comme dis plus haut. Maintenant ok, merci

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

Discussions similaires

  1. regex php -> javascript
    Par guitz dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 15/07/2012, 12h01
  2. regex avec javascript
    Par zabdaniel dans le forum G�n�ral JavaScript
    R�ponses: 18
    Dernier message: 15/05/2008, 17h41
  3. RegEx en Javascript : r�sultats al�atoires sous Firefox et Opera
    Par fblanchard dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 28/04/2008, 11h02
  4. regex et javascript
    Par damien77 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 13/08/2007, 17h32
  5. Regex sous javascript
    Par Death83 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 14/03/2006, 01h50

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