Sfida
Dato un goo.gl
collegamento abbreviato valido , genera l'URL originale.
Esempio
goo.gl/qIwi3N
darebbe qualcosa del genere https://codegolf.stackexchange.com/
. Per l'input, puoi scegliere di avere https?://
all'inizio, puoi scegliere di avere www.
prima di goo.gl
e puoi anche scegliere di sbarazzarti di goo.gl
se vuoi solo la fine dell'URL. Una barra alla fine è opzionale per input e output. Quindi, il tuo input finirà per abbinare la regex (https?://)?(www\.)?(goo\.gl/)?[A-Za-z0-9]+/?
. Per l'output, è possibile scegliere se produrre https?://
o meno, se produrre www.
o meno una barra finale. Tuttavia, è necessario essere coerenti con la formattazione di I / O .
Dirò che non devi essere coerente con https
vs. http
per l'output (ma devi essere coerente per l'input), purché tu sia coerente con se includere o meno l'intera https?://
parte.
Casi test
Questi sono scritti con nessuna https://
, nessuna www.
, nessuna barra finale nell'input; Sì https://
, no www.
e sì barra finale nell'output.
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
ipotesi
- Si può presumere che il collegamento abbreviato non punti a un altro collegamento abbreviato e che il sito di destinazione restituirà un codice di stato di (
2xx
o4xx
nessun reindirizzamento).
Puoi andare qui e inserire un URL per applicare l'operazione inversa di questo: https://goo.gl/
www.
fanno la differenza. È solo nella maggior parte dei casi lo stesso server a cui fa riferimento. Prova ad esempio http://pks.mpg.de
e http://www.pks.mpg.de
. Il primo non può essere risolto, mentre il secondo può essere risolto.