Rebmu, 91 caracteres
Devido ao Catch-22, tenho que postar para obter o URL desta resposta. : - / Ok, entendi.
paTSrd http://codegolf.stackexchange.com/a/28154[th<a name="28154">th<code>cpCto</code>]prC
Rebmu é um dialeto de Rebol, e você pode ler tudo sobre ele . O Rebol equivalente aqui seria:
parse to-string read http://codegolf.stackexchange.com/a/28154 [
thru <a name="28154">
thru <code>
copy c to </code>
]
print c
O PARSE da Rebol é uma espécie de resposta altamente alfabetizada ao RegEx. Inicia uma posição do analisador da entrada (que pode ser de qualquer série, incluindo blocos estruturais ... dados binários ... ou tipos de string) . As regras são um idioma para o movimento da posição de análise.
Tags e URLs são realmente apenas strings no idioma. Mas eles são "aromatizados" e, como o Rebol é digitado dinamicamente, você pode verificar esse tipo. Leia, por exemplo, sabe que, se você fornecer uma string com sabor de URL, ela deverá ser enviada para um manipulador de esquema para fazer a leitura. (Nesse caso, aquele registrado para HTTP). Como você recebe UTF-8 bytes por padrão, usamos a cadeia de caracteres para decodificar isso e obter uma série de pontos de código em uma cadeia Unicode normal.
No caso do dialeto de análise, encontrar um tipo de tag corresponde apenas como se fosse uma string que se parecesse com a tag. THRU é uma instrução que significa "pular até que a regra a seguir seja correspondida e, em seguida, coloque a posição da correspondência no final do que você acabou de corresponder". (TO é o análogo que corresponde, mas deixa a posição de análise antes do elemento).
Então, passamos pelo <a name="28154">
. Em seguida, passamos pela próxima ocorrência de <code>
, com nossa posição de análise agora localizada logo após a >
. O comando COPY do PARSE nos permite copiar dados para outra regra, neste caso, essa regra é [TO </code>]
... então entramos na variável C tudo até pouco antes disso <
.
Legal , né? :-)
Tecnicamente, eu poderia TO "</"
economizar mais, por exemplo, procurando e economizando três caracteres - não há necessidade de combinar com a </code>
tag final quando </
isso aconteceria. Argumentos semelhantes poderiam ser feitos para a tag start. Mas Rebmu é sobre golfe alfabetizado ... mesmo que você ache estranho no começo!
ATUALIZAÇÃO : o /body
truque está pronto, mas da mesma forma vou deixar como está ... porque acho que é mais educativo dessa maneira.