Desafío
Dado un goo.glenlace acortado válido , genera la URL original.
Ejemplo
goo.gl/qIwi3Ndaría algo así https://codegolf.stackexchange.com/. Para la entrada, puede elegir tener el https?://al principio, puede elegir tener www.antes del goo.gl, y también puede optar por deshacerse de él goo.glsi solo desea el final de la URL. Una barra oblicua al final es opcional para entrada y salida. Entonces, su entrada terminará haciendo coincidir la expresión regular (https?://)?(www\.)?(goo\.gl/)?[A-Za-z0-9]+/?. Para la salida, puede elegir si generar o no https?://, si generar o no www., y si generar o no una barra diagonal final. Sin embargo, debe ser compatible con el formato de su E / S .
Diré que no tiene que ser consistente con httpsvs. httppara salida (pero debe ser consistente para entrada), siempre y cuando sea consistente con si incluye o no la https?://parte completa .
Casos de prueba
Estos se escriben con no https://, no www., sin barra diagonal en la entrada; sí https://, no www.y sí, barra diagonal final en la salida.
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
Supuestos
- Puede suponer que el enlace acortado no apuntará a otro enlace acortado y que el sitio de destino devolverá un código de estado de
2xxo4xx(sin redireccionamientos).
Puede ir aquí e ingresar una URL para aplicar la operación inversa de esto: https://goo.gl/
www.marca la diferencia. En la mayoría de los casos, es el mismo servidor al que se refiere. Prueba por ejemplo http://pks.mpg.dey http://www.pks.mpg.de. El primero no puede resolverse, mientras que el último sí.