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 et $1 [RegExp]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut RegExp et $1
    Bonjour à tous,

    J'essaye de rechercher un mot avec un RegExp puis je veux un replace()
    Jusqu'à là tout va bien
    Sauf que je veux y ajouter du html
    Voici mon code javascript, ça vous parlera très certainement plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
           var chaine = document.getElementById('chien').innerHTML;
    	var reg=new RegExp("chien","g");
    	var re = chaine.replace(reg, "<b>$1</b>");
    	document.getElementById("resultat").innerHTML = re;
    Je voudrais donc y mettre la balise <b> autour des mots "chien"
    J'ai vu sur le net qu'il fallait mettre un "$1"

    Mais chez moi ça ne marche pas (ça m'affiche ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Les $1s et les $1nes, les chats et les oiseaux
    ) et non le mot "chien" en gras
    j'ai un peu de mal à comprendre

    Quelqu'un pourrait il m'aider?
    Merci beaucoup !

  2. #2
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Essaie comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    re=chaine.replace(/\b(chien(?:ne)?s?)\b/ig, "<b>$1</b>");

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    C'est cool ! ça fonctionne ! merci

    Mais, j'ai pas compris.
    Pourrais tu m'expliquer à quoi tout ça sert? qu'est ce que tous ces symboles veulent dire?

  4. #4
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    /	Délimiteur (j'aurais pu utiliser un autre caractère)
    	Il permet de séparer le motif des options
    
    \b	Ici, on s'assure que ce qui suit n'est pas précédé d'une lettre
    
    (	Parenthèse capturante
    	Tout se qui s'y trouve, sera reporté dans... $1
    
    	chien
    	(?:ne)?		Eventuellement les caractères n et e
    	s?		Suivi(s) éventuelement par le caractère s
    )
    
    \b	Et là, on s'assure qu'il n'y a pas de lettre
    
    /
    
    ig	Options
    	i = Insensible à la casse
    	g = Mode gourmand = Rechercher toutes les occurences correspondant au motif
    

  5. #5
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    Merci pour ces infos!
    Tous est noté!

  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
    les $ représentent les niveau de parenthèses dans l'ordre de la regex

    => $1 pour le premier $2 pour le second


    et pas un wonderbra
    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. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  2. [langage] [RegExp] Détecter un chemin Windows
    Par GLDavid dans le forum Langage
    Réponses: 3
    Dernier message: 01/09/2004, 14h57
  3. [langage] [RegExp] Récupérer une portion de phrase
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2004, 22h01
  4. [langage] [RegExp] Question d'expression régulière
    Par cloogy dans le forum Langage
    Réponses: 5
    Dernier message: 08/10/2003, 09h29
  5. regexp
    Par mathieu gérard dans le forum ASP
    Réponses: 4
    Dernier message: 02/10/2003, 18h05

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