ท้าทาย
ให้goo.gl
ลิงค์สั้นที่ถูกต้องให้ออก URL ดั้งเดิม
ตัวอย่าง
goo.gl/qIwi3N
https://codegolf.stackexchange.com/
จะให้สิ่งที่ต้องการ สำหรับอินพุตคุณสามารถเลือกที่จะมีhttps?://
จุดเริ่มต้นคุณสามารถเลือกที่จะมีwww.
ก่อนgoo.gl
และคุณยังสามารถเลือกที่จะกำจัดgoo.gl
ถ้าคุณต้องการจุดสิ้นสุดของ URL เครื่องหมายทับที่ท้ายเป็นทางเลือกสำหรับอินพุตและเอาต์พุต ดังนั้นการป้อนข้อมูลของคุณจะสิ้นสุดที่ตรงกับ (https?://)?(www\.)?(goo\.gl/)?[A-Za-z0-9]+/?
regex สำหรับเอาต์พุตคุณสามารถเลือกว่าจะเอาต์พุตhttps?://
หรือไม่เอาต์พุตwww.
หรือไม่และเพื่อเอาต์พุตสแลชต่อท้าย อย่างไรก็ตามคุณต้องสอดคล้องกับการจัดรูปแบบ I / O ของคุณ
ฉันจะบอกว่าคุณไม่จำเป็นต้องสอดคล้องกับhttps
vs. http
สำหรับเอาต์พุต (แต่คุณต้องสอดคล้องกับอินพุต) ตราบใดที่คุณสอดคล้องกับว่าคุณรวมhttps?://
ส่วนทั้งหมดหรือไม่
กรณีทดสอบ
สิ่งเหล่านี้เขียนขึ้นโดยไม่มีhttps://
, ไม่มีwww.
, ไม่มีสแลชต่อท้ายในอินพุต; ใช่https://
ไม่www.
และใช่ต่อท้ายสแลชในเอาต์พุต
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
สมมติฐาน
- คุณอาจสันนิษฐานว่าลิงค์ที่ย่อให้สั้นจะไม่ชี้ไปยังลิงค์ที่ย่อให้สั้นอีกและไซต์ปลายทางจะส่งคืนรหัสสถานะของ
2xx
หรือ4xx
(ไม่มีการเปลี่ยนเส้นทาง)
คุณสามารถไปที่นี่และป้อน URL เพื่อใช้การดำเนินการผกผันของสิ่งนี้: https://goo.gl/
www.
สร้างความแตกต่าง ในกรณีส่วนใหญ่เซิร์ฟเวอร์เดียวกับที่อ้างถึง ลองยกตัวอย่างและhttp://pks.mpg.de
http://www.pks.mpg.de
คนแรกไม่สามารถแก้ไขได้ในขณะที่หลังสามารถ