FFenceLilt
Espacio de programación con IA

Extracción restringida de bloques con acentos graves

Extrae bloques de tres acentos graves en la columna cero de textos de hasta 4096 caracteres con etiquetas ASCII de lenguaje opcionales.

● ● ●FenceLilt●
Flujos de trabajo · Extracción restringida de bloques con acentos graves ×
import re

def fenced_blocks(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("fence.input")
    blocks, body, language = [], None, None
    for line in text.splitlines():
        if body is None:
            opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
            if opening:
                body, language = [], opening[1]
        elif line == "```":
            blocks.append((language, "\n".join(body)))
            body = None
        else:
            body.append(line)
    if body is not None:
        raise ValueError("fence.unclosed")
    return blocks
✳Extracción restringida de bloques con acentos graves
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
  1. Modelos

    Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

  2. Proyecto

    Prueba bloques vacíos y saltos normalizados, rechaza bloques sin cerrar y deja otras formas Markdown sin interpretar ni ejecutar código.

  3. Revisa antes de aplicar

    Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

Flujos de trabajo

Extracción restringida de bloques con acentos graves

Flujos de trabajo ↗
Flujos de trabajo
import re

def fenced_blocks(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("fence.input")
    blocks, body, language = [], None, None
    for line in text.splitlines():
        if body is None:
            opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
            if opening:
                body, language = [], opening[1]
        elif line == "```":
            blocks.append((language, "\n".join(body)))
            body = None
        else:
            body.append(line)
    if body is not None:
        raise ValueError("fence.unclosed")
    return blocks
Espacio de programación con IA

Mantén separado el contrato de extracción de la ejecución

FenceLilt proporciona un entorno de programación con IA para Windows para desarrolladores que crean pequeñas funciones de procesamiento de texto con reglas de entrada deliberadamente limitadas. Abre el proyecto y describe qué debe reconocer la función, qué debe dejar intacto y cómo debe informar de entradas incompletas. El modelo conectado podrá examinar el código y proponer un cambio conforme a esos límites.

Extraer bloques de código delimitados ofrece una tarea concreta. Utiliza las reglas de marcadores y etiquetas de lenguaje del ejemplo existente para analizar las formas admitidas, incluidos bloques vacíos y saltos de línea. Pide al asistente que explique cómo trata el analizador propuesto un bloque sin cerrar antes de revisar su implementación. El cuerpo extraído es texto; decidir ejecutar algo de su contenido sería otra función con otros requisitos.

Ejecuta casos de salida exacta en tu proyecto tras examinar el parche e incluye formas no admitidas que no deban reinterpretarse accidentalmente. Revisa el límite de tamaño y la gestión de errores junto con la extracción correcta. Para la ayuda de IA, configura un endpoint compatible con OpenAI o de Anthropic admitido, con credenciales cuando se necesiten. Puedes seleccionar un modelo sin restricciones si el servicio lo ofrece, mientras la capacidad de contexto y las herramientas dependen del servidor. Una sesión útil termina con un cambio cuyo lenguaje admitido y comportamiento ante fallos puedes describir claramente.

Comprobación de una función de extracción restringida

¿Extraer un bloque de código significa ejecutar su contenido?

No. Esta tarea devuelve texto conforme a un contrato definido de marcadores. Mantén cualquier decisión de ejecución posterior separada de la extracción y revisa el código posterior para que tratar un cuerpo devuelto no invoque comandos ni evalúe código inesperadamente.

¿Debe esta rutina aceptar todos los estilos de delimitación Markdown?

El ejemplo existente admite intencionadamente una forma restringida. Enumera los marcadores y etiquetas que necesita tu aplicación y compruébalos explícitamente. Ampliar a otras formas de Markdown cambia los requisitos; no es una consecuencia automática de limpiar el analizador.

¿Cómo debe tratarse un bloque sin cerrar?

Indica si se rechaza una entrada incompleta antes de implementar el cambio. La tarea ilustrada la rechaza. Incluye un caso que llegue al final con un bloque abierto y verifica que el consumidor presente adecuadamente ese resultado.

¿Por qué conservar ejemplos no admitidos en las pruebas?

Muestran dónde termina la función. Una expresión sugerida por el modelo puede reconocer accidentalmente formas adicionales y cambiar el comportamiento sin un fallo evidente. Comprueba juntos el texto aceptado y el que queda intacto para conservar el límite previsto.

Descargar para Windows ↗

FenceLilt · Actualizado 2026-10-25