Écrire une fonction pour convertir le texte CamelCased en snake_case: FunctionForHTMLManipulation
devientfunction_for_html_manipulation
Le texte saisi sera un identifiant unique approprié dans de nombreuses langues. Il doit commencer par une lettre anglaise, puis être suivi d'un nombre quelconque de lettres ou de chiffres anglais. Aucun autre caractère (espaces, symboles, etc.) n'est autorisé.
Chaque "mot" dans le texte CamelCased commencera par une majuscule, sauf au début du texte ou immédiatement après un chiffre, et sera suivi de zéro ou plusieurs lettres, toutes dans le même cas. Les groupes de chiffres seront considérés comme des mots séparés mais passeront inchangés.
En d'autres termes, une lettre minuscule suivie d'une lettre majuscule indique une rupture de mot. N'importe quelle lettre et chiffre l'un à côté de l'autre indique une rupture de mot. Une lettre majuscule suivie d'une autre lettre majuscule et d'une lettre minuscule indique une rupture de mot.
...lU...
=> ...l_u...
...l9...
=> ...l_9...
...U9...
=> ...u_9...
...9l...
=> ...9_l...
...9U...
=> ...9_u...
...UUl...
=>...u_ul...
Les deux Buy24Beers
et buy24beers
devenir buy_24_beers
.
MacDonaldAndObrian
devient mac_donald_and_obrian
.
MACDonaldAndOBrian
devient mac_donald_and_o_brian
.
...UUl...
=> ...u_ul...
.
...
indique qu'il est au milieu d'une chaîne.
MACDonaldAndOBrian
devientmac_donald_and_o_brian
" - pourquoi?