Rebmu, 91 karakter
Catch-22 nedeniyle bu cevabın URL’sini almak için göndermem gerekiyor. :-/ Tamam anladım.
paTSrd http://codegolf.stackexchange.com/a/28154[th<a name="28154">th<code>cpCto</code>]prC
Rebmu, Rebol'un lehçesidir ve hepsini okuyabilirsiniz . Buradaki eşdeğer Rebol şöyle olurdu:
parse to-string read http://codegolf.stackexchange.com/a/28154 [
thru <a name="28154">
thru <code>
copy c to </code>
]
print c
Rebol's PARSE, RegEx'e bir tür okuryazar cevaptır. Girişin ayrıştırıcı pozisyonunu başlatır (yapısal bloklar ... ikili veri ... veya string tipleri dahil olmak üzere herhangi bir seri olabilir) . Kurallar, ayrıştırma konumunun nasıl hareket edeceğine ilişkin bir dildir.
Etiketler ve URL'ler gerçekten de sadece başlıktaki dizedir. Ama onlar "aromalı" ve Rebol dinamik olarak yazıldığından, bu tipi kontrol edebilirsiniz. Mesela READ, URL aromalı bir dize verirseniz, okumayı yapmak için bir şema işleyicisine göndermesi gerektiğini bilir. (Bu durumda, bir HTTP için kayıtlı). UTF-8 baytlarını varsayılan olarak geri alırsınız, bu yüzden bunu çözmek ve normal bir Unicode dizesinde bir dizi kod noktası almak için to-string kullanırız.
Ayrıştırma lehçesi durumunda, bir etiket türüyle karşılaşmak, etikete benzeyen bir dizemiş gibi eşleştirilir. THRU, "takip eden kural eşleşene kadar atla ve daha sonra eşleştiğin konumu eşleştiğin sonuna yerleştir" anlamına gelen bir talimattır. (TO, eşleşen, ancak ayrıştırma öğesini öğenin önünde bırakan analogdur).
Bu yüzden biz geçmiş boyunca zip <a name="28154">
. Sonra <code>
ayrıştırma konumumuzu hemen sonra bulunan , sonraki oluşumunu geçiyoruz >
. PARSE'ın COPY komutu daha sonra verileri başka bir kurala kopyalamamıza izin verir, bu durumda bu kuraldır [TO </code>]
... bu yüzden C değişkenine, her şeyden önceye kadar her şeyi alırız <
.
Harika , ha? :-)
Teknik olarak, örneğin arayarak TO "</"
ve üç karakterden tasarruf ederek daha fazla traş olabilirim - </code>
sadece </
ne zaman yapılacağına tüm son etiketiyle eşleşmeye gerek yok. Benzer etiketler start etiketi için de yapılabilir. Ama Rebmu okuryazar golf hakkında ... ilk başta garip göründüğünü düşünseniz bile!
GÜNCELLEME : /body
Hile çantadan çıktı, ama benzer şekilde bırakacağım ... çünkü bu şekilde daha eğitici olduğunu düşünüyorum.