Escreva uma função para converter o texto CamelCased em snake_case: FunctionForHTMLManipulationtorna - sefunction_for_html_manipulation
O texto de entrada será um único identificador adequado em vários idiomas. Ele deve começar com uma letra em inglês e, em seguida, ser seguido por qualquer número de letras ou dígitos em inglês. Nenhum outro caractere (espaços, símbolos, etc.) é permitido.
Cada "palavra" no texto do CamelCased começará com uma letra maiúscula, a menos que no início do texto ou imediatamente após um dígito, e seja seguida por zero ou mais letras, todos no mesmo caso. Grupos de dígitos serão considerados como palavras separadas, mas passarão inalterados.
Em outras palavras, uma letra minúscula seguida por uma letra maiúscula indica uma quebra de palavra. Qualquer letra e dígito próximos um do outro indica uma quebra de palavra. Uma letra maiúscula seguida por outra letra maiúscula e uma letra minúscula indica uma quebra de palavra.
...lU...=> ...l_u...
...l9...=> ...l_9...
...U9...=> ...u_9...
...9l...=> ...9_l...
...9U...=> ...9_u...
...UUl...=>...u_ul...
Ambos Buy24Beerse buy24beersse tornam buy_24_beers.
MacDonaldAndObriantorna-se mac_donald_and_obrian.
MACDonaldAndOBriantorna-se mac_donald_and_o_brian.
...UUl...=> ...u_ul....
...indica que está no meio de uma string.
MACDonaldAndOBriantorna-semac_donald_and_o_brian" - por quê?