Rebmu, 91 Zeichen
Aufgrund des Catch-22 muss ich posten, um die URL dieser Antwort zu erhalten. : - / Okay, verstanden.
paTSrd http://codegolf.stackexchange.com/a/28154[th<a name="28154">th<code>cpCto</code>]prC
Rebmu ist ein Dialekt von Rebol, und Sie können alles darüber lesen . Der äquivalente Rebol wäre hier:
parse to-string read http://codegolf.stackexchange.com/a/28154 [
thru <a name="28154">
thru <code>
copy c to </code>
]
print c
Rebols PARSE ist eine Art hochkompetente Antwort auf RegEx. Es startet eine Parser-Position der Eingabe (die eine beliebige Reihe sein kann, einschließlich Strukturblöcken ... Binärdaten ... oder Zeichenfolgentypen) . Die Regeln sind eine Sprache für die Bewegung der Analyseposition.
Tags und URLs sind in der Sprache eigentlich nur Strings unter der Haube. Aber sie sind "gewürzt", und da Rebol dynamisch eingegeben wird, können Sie diesen Typ überprüfen. READ weiß beispielsweise, dass, wenn Sie eine URL-gewürzte Zeichenfolge angeben, diese an einen Schema-Handler gesendet werden sollte, um das Lesen durchzuführen. (In diesem Fall der für HTTP registrierte). Sie erhalten standardmäßig UTF-8-Bytes zurück. Daher verwenden wir to-string, um dies zu dekodieren und eine Reihe von Codepunkten in einer normalen Unicode-Zeichenfolge abzurufen.
Im Fall des Parser-Dialekts wird die Erkennung eines Tag-Typs nur als Zeichenfolge abgeglichen, die dem Tag ähnelt. THRU ist eine Anweisung mit der Bedeutung "Überspringen, bis die folgende Regel übereinstimmt, und dann die Übereinstimmungsposition an das Ende des gerade Übereinstimmungsgegenstands setzen". (TO ist das Analogon, das übereinstimmt, aber die Analyseposition vor dem Element belässt).
Also rasten wir an der <a name="28154">
. Vorbei . Dann überqueren wir das nächste Vorkommen von <code>
, wobei sich unsere Analyseposition jetzt direkt nach dem befindet >
. Mit dem Befehl COPY von PARSE können wir dann Daten in eine andere Regel kopieren. In diesem Fall lautet diese Regel [TO </code>]
..., sodass wir bis dahin alles in die Variable C aufnehmen <
.
Cool , was? :-)
Technisch könnte ich mehr davon abschneiden, zum Beispiel durch Suchen TO "</"
und das spart drei Zeichen - es ist nicht nötig, das gesamte </code>
End-Tag abzugleichen, wenn es nur geht </
. Ähnliche Argumente könnte ich für das Start-Tag machen. Aber Rebmu ist etwa gebildete Golf ... auch wenn Sie vielleicht denken , es auf den ersten seltsam aussieht!
UPDATE : Der /body
Trick ist aus dem Sack, aber ich werde ihn genauso belassen wie er ist ... weil ich denke, dass er auf diese Weise lehrreicher ist.