2010-05-05 3 views
1

je suit div:javascript regex question?

<div id = "zone-2fPromotion-2f" class = "promotion"> 

Comment puis-je obtenir la valeur 2f présente à la fin, en fait, il est la valeur de la Promotion et comment puis-je le récupérer?

j'utilisais

this.match = this.id.match(/(Promotion)-([0-9a-f]{2})/); 

mais il ne me donne pas résultat exact, mais il me donne tableau de (Promotion-2f, Promotion, 2f), mais ce n'est pas ce que je demande. Toute orientation et aussi si quelqu'un peut me référer à une bonne ressource en ligne pour regex, il serait très utile et apprécié.

Répondre

2

c'est ce que vous voulez. les résultats du match sont d'abord la partie entière appariée de l'expression, puis les différents groupes. autant que vous voulez récupérer le groupe 2 (le second lot de() 's) font tout

this.match = this.id.match(/(Promotion)-([0-9a-f]{2})/)[2]; 

aussi, la meilleure référence en ligne que j'ai trouvé est http://www.regular-expressions.info/

edit: vous pouvez simplement laisser de côté le d 'environ promotion(), puisque vous n'êtes pas inquiet de retourner cette partie, et faire

this.match = this.id.match(/Promotion-([0-9a-f]{2})/)[1]; 
+0

+1, maintenant je comprends comment cela fonctionne. – Rachel

+0

excellent. Si vous avez un moment, lisez le tutoriel sur ce site regular-expressions.info, c'est incroyablement complet et très bien expliqué. – oedo

+0

Oui. Je vais passer par là. J'ai toujours voulu apprendre l'expression régulière car ce sont des outils très puissants à la disposition des développeurs. Mais d'une manière ou d'une autre, je n'avais pas de ressources pour commencer ... Je ne suis pas trop dans les livres et je ne voulais pas passer par la maîtrise du livre d'expressions régulières. – Rachel