Rebmu, 91 ตัวอักษร
เนื่องจาก Catch-22 ฉันต้องโพสต์เพื่อรับ URL คำตอบนี้ : - / โอเคเข้าใจแล้ว
paTSrd http://codegolf.stackexchange.com/a/28154[th<a name="28154">th<code>cpCto</code>]prC
Rebmu เป็นภาษาถิ่นของ REBOL และคุณสามารถอ่านทั้งหมด 'การแข่งขันมัน Rebol ที่เทียบเท่ากันที่นี่จะเป็น:
parse to-string read http://codegolf.stackexchange.com/a/28154 [
thru <a name="28154">
thru <code>
copy c to </code>
]
print c
PARSE ของ Rebol เป็นคำตอบที่ตรงไปตรงมาสำหรับ RegEx มันเริ่มต้นตำแหน่ง parser ของท่าน(ซึ่งอาจจะเป็นชุดใด ๆ รวมทั้งบล็อกโครงสร้าง ... ข้อมูลไบนารี ... หรือประเภทสตริง) กฎเป็นภาษาสำหรับตำแหน่งการย้ายวิเคราะห์คำ
แท็กและ URL เป็นเพียงสายอักขระภายใต้ประทุนในภาษา แต่พวกมันจะ "ปรุงแต่ง" และเนื่องจาก Rebol นั้นถูกพิมพ์แบบไดนามิกคุณสามารถตรวจสอบประเภทนั้นได้ เช่นอ่านรู้ว่าถ้าคุณให้มันสตริง URL รสแล้วมันควรจะส่งไปยังรูปแบบการจัดการที่จะทำการอ่าน (ในกรณีนี้อันที่ลงทะเบียนสำหรับ HTTP) คุณได้รับ UTF-8 ไบต์กลับมาโดยปริยายดังนั้นเราใช้ to-string เพื่อถอดรหัสมันและรับ codepoints หลายชุดในสตริง Unicode ปกติ
ในกรณีของการแยกวิเคราะห์ภาษาการเผชิญหน้าประเภทแท็กจะถูกจับคู่ราวกับว่ามันเป็นสตริงที่ดูเหมือนแท็ก THRU คือความหมายของคำสั่ง "ข้ามจนกว่ากฎที่ตามมาจะถูกจับคู่แล้ววางตำแหน่งการแข่งขันในตอนท้ายของสิ่งที่คุณเพิ่งจับคู่" (TO คืออะนาล็อกที่จับคู่ แต่ออกจากตำแหน่งการแยกวิเคราะห์ก่อนองค์ประกอบ)
<a name="28154">
ดังนั้นเราจึงพร้อมซิปที่ผ่านมา จากนั้นเรา zip ที่ผ่านมาเกิดขึ้นต่อไปของการมีตำแหน่งในการแยกวิเคราะห์ของเราตอนนี้อยู่ขวาหลังจาก<code>
>
คำสั่งคัดลอกแยกแล้วจะช่วยให้เราคัดลอกข้อมูลถึงกฎอื่นในกรณีนี้กฎที่เป็น[TO </code>]
... ดังนั้นเราจะได้เป็นตัวแปรทุกอย่าง C <
จนถึงขวาก่อนว่า
เจ๋งใช่มั้ย :-)
ในทางเทคนิคแล้วฉันสามารถโกนหนวดออกได้มากขึ้นเช่นโดยการค้นหาTO "</"
และช่วยประหยัดอักขระสามตัว - ไม่จำเป็นต้องจับคู่</code>
แท็กปิดท้ายทั้งหมดเมื่อ</
ต้องทำ ฉันสามารถสร้างอาร์กิวเมนต์ที่คล้ายกันสำหรับแท็กเริ่มต้นได้ แต่ Rebmu เป็นเรื่องเกี่ยวกับความรู้การเล่นกอล์ฟ ... แม้ว่าคุณอาจจะคิดว่ามันดูแปลกในตอนแรก!
UPDATE : /body
เคล็ดลับไม่ได้อยู่ในกระเป๋า แต่ฉันก็เหมือนกันที่จะทิ้งมันไว้ตามที่เป็น - เพราะฉันคิดว่ามันเป็นการศึกษาที่ดีกว่า