OVH Cloud OVH Cloud

Javascript et expressions régulières

1 réponse
Avatar
Alexandre Lahure
Bonjour à tous,

Soit l'expression régulière :

var balise = /\[c=#[0-9a-f]{6}\]/i;

celle-ci représente une pseudo-balise avec un code couleur en hexa, de la
forme [c=#ff0000]
Je voudrais récupérer l'index de la dernière occurence de la balise dans
un texte.
Donc dans un premier temps, je fais :

var resultat = balise.exec("Du texte avec une balise [c=#ff0000], puis
une autre [c=#00ff00]");

D'après les docs javascript, la méthode exec est censée initialiser tout
un tas de propriétés de l'objet RegExp, notamment lastIndex et lastMatch
mais dans la réalité, aucune ne marche correctement, voire n'est
implémentée.

J'en arrive donc à mes questions :
- Existe t'il un moyen de faire la recherche à partir de la fin de la
chaine ?
- Si non, quelqu'un pourrait-il m'aider à composer une expression
régulière plus poussée pour arriver au même résultat ?

Merci d'avance

--
Alexandre

Computers are like air conditioners
They don't work when you opn windows

1 réponse

Avatar
Pierre Goiffon
"Alexandre Lahure" a écrit dans le message de
news:
Soit l'expression régulière :

var balise = /[c=#[0-9a-f]{6}]/i;

celle-ci représente une pseudo-balise avec un code couleur en hexa,
de la forme [c=#ff0000]
Je voudrais récupérer l'index de la dernière occurence de la balise
dans un texte.
Donc dans un premier temps, je fais :

var resultat = balise.exec("Du texte avec une balise [c=#ff0000],
puis une autre [c=#00ff00]");

D'après les docs javascript, la méthode exec est censée initialiser
tout un tas de propriétés de l'objet RegExp, notamment lastIndex et
lastMatch mais dans la réalité, aucune ne marche correctement, voire
n'est implémentée.



A vue de nez test serait plus indiqué que exec.

Cela dis :
- vous devriez plutôt poster sur fr.comp.lang.javascript
- poster l'URL d'une page d'exemple ferait bcp gagner de temps aux personnes
qui tenteraient de vous aider 0:)