Compter nombre d'occurences avec regexp

Signaler
Messages postés
2
Date d'inscription
jeudi 25 décembre 2003
Statut
Membre
Dernière intervention
17 mars 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,
Je souhaiterais connaitre le nombre de mot de ma regexp contenus dans ma chaine. J'ai essayé de faire :
var ma_regexp = new RegExp ("toto|tata");
var ma_chaine = "toto tata toto titi tonton";
var tab = ma_regexp.exec(ma_chaine);
alert(tab.length);

Le probleme est que  tab.length est toujours egal a 1 et tab[0]=tata, tab[1]=undefined, tab[2]=undefined etc
Je cherche a ce que tab.length soit egal à 3.

Merci

2 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,
pas sûr qu'on puisse automatiquement
ch'tiot exemple :

    var m = "toto tata toto titi tata tata tonton";
    var nb=0;
    m=m.replace    (    /tata|toto/gi,function($0)
                                            {    nb++;
                                                return $0;
                                            }
                        );
    alert ( m + "\r\n" + nb );

j'ai mis replace pour le cas ou tu voudrais gérer ces mots ( $0 )
à toi d'adapter

Cordialement
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
il y a d'autres solutions/approches possibles ( split, indexof ... )