Rebmu, 91 caracteres
Debido al Catch-22, tengo que publicar para obtener la URL de esta respuesta. :-/ Ok, lo tengo.
paTSrd http://codegolf.stackexchange.com/a/28154[th<a name="28154">th<code>cpCto</code>]prC
Rebmu es un dialecto de Rebol, y puedes leer todo sobre él . El Rebol equivalente aquí sería:
parse to-string read http://codegolf.stackexchange.com/a/28154 [
thru <a name="28154">
thru <code>
copy c to </code>
]
print c
PARSE de Rebol es una especie de respuesta altamente alfabetizada a RegEx. Comienza una posición de analizador de la entrada (que puede ser cualquier serie, incluidos bloques estructurales ... datos binarios ... o tipos de cadena) . Las reglas son un lenguaje sobre cómo se mueve la posición de análisis.
Las etiquetas y las URL son realmente solo cadenas debajo del capó en el idioma. Pero tienen "sabor", y como Rebol se escribe dinámicamente, puede verificar ese tipo. READ, por ejemplo, sabe que si le da una cadena con sabor a URL, debe enviarla a un controlador de esquema para que realice la lectura. (En este caso, el registrado para HTTP). Obtiene los bytes UTF-8 de forma predeterminada, por lo que usamos to-string para decodificar eso y obtener una serie de puntos de código en una cadena Unicode normal.
En el caso del dialecto de análisis, encontrar un tipo de etiqueta solo coincide como si fuera una cadena que se parecía a la etiqueta. THRU es una instrucción que significa "omitir hasta que coincida la regla resultante, y luego colocar la posición de coincidencia al final de lo que acaba de coincidir". (TO es el análogo que coincide, pero deja la posición de análisis antes del elemento).
Así que corremos más allá del <a name="28154">
. Luego pasamos rápidamente a la siguiente aparición de <code>
, con nuestra posición de análisis ahora ubicada justo después de >
. El comando COPY de PARSE nos permite copiar datos a otra regla, en este caso esa regla es [TO </code>]
... así que ingresamos a la variable C todo hasta justo antes de eso <
.
Genial , ¿eh? :-)
Técnicamente, podría ahorrar más, por ejemplo, al buscar TO "</"
y eso ahorra tres caracteres: no hay necesidad de hacer coincidir toda la </code>
etiqueta final cuando </
lo haría. Argumentos similares podrían hacerse para la etiqueta de inicio. Pero Rebmu tiene que ver con el golf alfabetizado ... ¡aunque parezca extraño al principio!
ACTUALIZACIÓN : el /body
truco está fuera de la bolsa, pero igualmente lo dejaré como está ... porque creo que es más educativo de esta manera.