Je recherche une expression régulière qui retournera vrai chaque fois que des chiffres se produisent, disons 10 fois dans une chaîne.

Dans ce cas, il n'y a pas de modèle, il suffit de compter l'occurrence du nombre de chiffres et de renvoyer true en conséquence.

Donc, tous les suivants retournent vrai:

0123456789
0123few456789
1^*2345*67890
123sdw4 56789&0
(1234)56789 0
987 5rfdf457 89+0
-1
amars 3 juin 2020 à 23:11

2 réponses

Comptez simplement les chiffres dans la chaîne:

const string = '123sdw4 456789&0';
const result = string.match(/\d/g).length === 10;
// result is true
1
Robo Robok 3 juin 2020 à 20:35

Pour certains moteurs regex (pas un gourou JS, mais plutôt sed), cela permettrait de détecter un chiffre 10 fois:

\([0-9]\).*\1.*\1.*\1.*\1.*\1.*\1.*\1.*\1.*\1
0
David G. Pickett 3 juin 2020 à 20:31