Desafio
Dado um goo.gllink encurtado válido , produza o URL original.
Exemplo
goo.gl/qIwi3Ndaria algo parecido https://codegolf.stackexchange.com/. Para entrada, você pode optar por ter o nome https?://no início, pode optar por ter www.antes do goo.gle também pode se livrar do goo.glse desejar apenas o final do URL. Uma barra no final é opcional para entrada e saída. Portanto, sua entrada acabará correspondendo ao regex (https?://)?(www\.)?(goo\.gl/)?[A-Za-z0-9]+/?. Para a saída, você pode escolher se deseja ou não produzir https?://, se deve ou não produzir www., e se deve ou não gerar uma barra final. No entanto, você deve ser consistente com o seu I / O formatação .
Eu direi que você não precisa ser consistente com httpsvs. httppara saída (mas deve ser consistente para entrada), desde que seja consistente com a inclusão ou não da https?://parte inteira .
Casos de teste
Eles são gravados sem https://, não www., sem barra na entrada; sim https://, não www.e sim barra final na saída.
input -> output
goo.gl/HaE8Au -> https://codegolf.stackexchange.com/
goo.gl/IfZMwe -> https://stackoverflow.com/
goo.gl/JUdmxL -> https://chat.stackexchange.com/rooms/240/the-nineteenth-byte
Premissas
- Você pode assumir que o link reduzido não apontará para outro link reduzido e que o site de destino retornará um código de status
2xxou4xx(sem redirecionamentos).
Você pode ir aqui e inserir um URL para aplicar a operação inversa: https://goo.gl/
www.faz a diferença. Na maioria dos casos, é apenas o mesmo servidor a que se refere. Tente por exemplo http://pks.mpg.dee http://www.pks.mpg.de. O primeiro não pode ser resolvido, enquanto o último pode.