![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
NoSmoking
- pas de chiffre dans le texte
- pas de nombre avec décimale
Avec ES6, on peut désormais utiliser des tests arrière (lookbehinds) dans les patterns, donc:
txt = txt.replace(/(?<!\S)(?:[2-9]\d*|1\d+)(?!\S)/g, m => m*8);
(?<!\S): non précédé d'un caractère qui n'est pas un caractère blanc = précédé d'un caractère blanc ou au début de la chaîne.
(?!\S): non suivi d'un caractère qui n'est pas un caractère blanc = suivi d'un caractère blanc ou de la fin de la chaîne.
[2-9]\d*|1\d+ suffit à remplir la condition n>1. On pourrait aussi écrire (?:[2-9]|1\d)\d*.
Partager