2010-08-09 5 views
4

Cela fonctionne bien pour les cas de remplacement insensible:intelligent cordes Remplacements

str = str.replace(new RegExp(phrase, 'gi'), '<span style="color:red;">' + phrase + '</span>'); 

Mais ce que je ne veux est de ne pas changer la casse lors du remplacement qui mentionné ci-dessus fait.

Répondre

1

str = str.replace(new RegExp(phrase, 'gi'), '<span>$&</span>');

+1

Celui-ci fonctionne! Merci! Celui proposé par reko_t ne fonctionne pas au moins dans mon opéra. –

0

capture l'expression avec parenthèses et utiliser $1 dans la chaîne de remplacement, par exemple:

'Foobar'.replace(/(foo)/gi, '<x>$1</x>') 

RESULTERAIENT dans <x>Foo</x>bar

+0

Si ce pas '$ &'? Ou, au moins, vous avez besoin d'un groupe de capture ... – Kobi

+0

Je ne suis pas sûr de ce que vous voulez dire. Il y a un groupe de capture, et '$ 1' fait référence au premier groupe capturé. –

+0

Il y a un groupe de capture après avoir édité votre réponse ':)' – Kobi