RegExp, "Variable"

Bonjour à tous, Je vais tacher d'être clair :)

j'ai une div avec un contenteditable en guise de champ de texte, tout marche bien. J'ai créer une fonction javascript qui a pour but grâce à une regexp de colorer en rouger tous les mots de la forme {mo} c'est à dire entre accolades.

Voila ma ligne importante:
contenu = contenu.replace(/^\{\}$/g, "<span style='color:red'>{????}</span>");

La variable contenu est censée prendre la valeur de l'ancien contenu mais avec les {mot} remplacés pas des <span style='color:red'>{mots}</span> sauf que voila, comment réutiliser la "variable" du mot écrit entre crochets qui peut être n'importe lequel ?

Sachant que je ne veux pas assigner une balise ouvrante à "{" et fermante à "}" car il est possible que l'utilisateur inscrive uniquement { ou }. Aussi je suis ouvert pour changer totalement la méthode si vous avez des idées. Cordialement Lucien.

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. tu captures un motif avec les parenthèses puis tu fais $1 pour le retrouver, $2 pour retrouver le deuxième et ainsi de suite.

    Exemple la regex #([a-z]+),$1# va matcher bonjour,bonjour ou salut,salut

    Je connais pas JS mais je pense que ça pourrait être sur la bonne voie...

     contenu = contenu.replace("#(\{[^}]+\})#g", "<span style='color:red'>$1</span>");