Написати функцію для перетворення тексту CamelCased в snake_case: FunctionForHTMLManipulationстаєfunction_for_html_manipulation
Текст введення буде єдиним відповідним ідентифікатором на багатьох мовах. Він повинен починатися з англійської літери, а потім слідувати будь-якою кількістю англійських букв чи цифр. Не допускаються інші символи (пробіли, символи тощо).
Кожне "слово" у тексті CamelCased розпочнеться з великої літери, якщо тільки на початку тексту або одразу після цифри не супроводжуватиметься нульовою чи більшою літерою, все того ж випадку. Групи цифр вважатимуться окремими словами, але пропускаються без змін.
Іншими словами, мала літера з наступною великою літерою вказує на розрив слова. Буква та цифра поруч із собою вказують на перерву слова. Прописна літера з наступною іншою великою літерою, а маленька літера вказує на розрив слова.
...lU...=> ...l_u...
...l9...=> ...l_9...
...U9...=> ...u_9...
...9l...=> ...9_l...
...9U...=> ...9_u...
...UUl...=>...u_ul...
Обидва Buy24Beersі buy24beersстають buy_24_beers.
MacDonaldAndObrianстає mac_donald_and_obrian.
MACDonaldAndOBrianстає mac_donald_and_o_brian.
...UUl...=> ...u_ul....
...вказує, що він знаходиться посередині рядка.
MACDonaldAndOBrianстаєmac_donald_and_o_brian" - чому?