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 expression régulière


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Points : 21
    Points
    21
    Par défaut regex expression régulière
    Bonjour à tous.

    Voila j'ai un problème de regex avec javascript.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
    var reg_src = '/src="http://(www.)?google.fr(.+)"/gi';
    var resultat = reg_src.test(source);
    if ( resultat > 0)
    {
    alert ('true');
    }
    </script>
    Je suis quasiement certain qu'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg_src = '/src="http://(www.)?google.fr(.+)"/gi';
    il y a un problème de syntaxte, mais j'ai aussi un problème de regex, je voudrais que le script vérifie toutes les "entrés" possible. car la, il s'arrête au premier <img src=""> qu'il trouve, et moi je voudrais qu'il les essaye tous.

    aussi j'aimerais que se soit un regex dit "non gourmand"

    si vous pourriez m'aider, vous m'enlèveriez une sacrée épine du pied

  2. #2
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    Tu utilises l'écriture littérale des regexp du javascript. Donc tu n'as pas besoin de mettre des ',
    mais là ça foirage un peu donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg_src = new RegExp('src="http://(www\.)?google\.fr(.+)"',"gi");
    Pour faire avec l'écriture littérale (ce que tu as tenté au début)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg_src = /src="http:\/\/(www\.)?google\.fr(.+)"/gi;


    ( edit ) ha oui, regexp.test() renvoie true ou false, donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (regexp.test(chaine))  {
    suffit.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Le regex ne fonctionne toujours pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var reg_src = new RegExp('src="http://(www.)?google.fr(.+)"',"gi");
    var resultat = reg_src.test(source);
    if ( resultat > 0)
    {
    alert ('true');
    }
    source = <img src="blablabla">
    <iframe src="http://www.google.fr"></iframe>;


    auriez vous une idée du problème ? moi je pense que c'est parce que le regex s'arrête à la première chaine trouver, c'est à dire : src="blablabla".


    Edit : merci de votre précision, comme je suis un véritable neophyte en javascript ...

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Il n'y a rien derrière "google.fr" dans tes exemples, je proposerais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    src="http://(www\.)?google.fr(.*)"

  5. #5
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    ouep, cela dit, la regex en elle même «fonctionne» a part l'échappement des "." elle est correcte, il suffit de savoir la lire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    src="http://(www\.)?google\.fr(.*)"

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    merci à tous pour vos réponse, grâce à vous j'ai pu régler mon problème

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

Discussions similaires

  1. [REGEX] expression régulière qui match tout les nombres sauf un
    Par neuromencien dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 28/05/2008, 08h21
  2. [Débutant][Regex] Expression régulière adaptée
    Par hm1ch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/06/2007, 21h50
  3. [REGEX]Expression régulière
    Par tomca dans le forum Langage
    Réponses: 2
    Dernier message: 10/10/2005, 11h01
  4. [Regex] Expressions régulières: sous groupe
    Par debdev dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 07/07/2005, 14h10
  5. [RegEx]Expression régulière
    Par Sniper37 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/06/2005, 11h18

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