La question que tu poses est très basique en matière de regex, donc la meilleur chose que tu as à faire c'est de te diriger vers un tutoriel sur le sujet (je ne pense pas que MDN s'étende trop dessus), il y en a plusieurs sur developpez.net. La référence ultime restant le livre Mastering Regular Expressions de J. E. F. Friedl (il en existe une ancienne édition libre de droits, la 2e je crois).
regex101 est en effet un outil très pratique pour faire ensuite tes propres tests.
Personnellement je réécrirais la fonction de cette manière:
1 2 3 4 5
| function spinalCase(str) {
return str
.replace(/([a-z])([A-Z])/g, '$1-$2')
.replace(/[_ ]+/g, '-');
} |
voire avec une arrow function:
const spinalCase = (str) => str.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[_ ]+/g, '-');
Partager