Desafio
Dado um goo.gl
link encurtado válido , produza o URL original.
Exemplo
goo.gl/qIwi3N
daria 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.gl
e também pode se livrar do goo.gl
se 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 https
vs. http
para 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
2xx
ou4xx
(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.de
e http://www.pks.mpg.de
. O primeiro não pode ser resolvido, enquanto o último pode.