FFenceLilt
AI 코딩 작업 공간

제한된 백틱 블록 추출

최대 4096자에서 0열의 백틱 3개와 선택적 ASCII 언어 레이블로 된 블록을 추출하세요.

● ● ●FenceLilt●
작업 흐름 · 제한된 백틱 블록 추출 ×
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
✳제한된 백틱 블록 추출
✓ 변경 사항적용하기 전에 검토하세요 ↗
작업 공간 예시 화면
  1. 모델

    기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.

  2. 프로젝트

    빈 블록과 줄바꿈 정규화를 시험하고 닫히지 않은 블록을 거부하며 다른 Markdown 형식은 해석하거나 실행하지 마세요.

  3. 적용하기 전에 검토하세요

    실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.

작업 흐름

제한된 백틱 블록 추출

작업 흐름 ↗
작업 흐름
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
AI 코딩 작업 공간

추출 계약과 실행을 분리하세요

FenceLilt는 의도적으로 제한한 입력 규칙으로 작은 텍스트 처리 기능을 만드는 개발자를 위한 Windows용 AI 코딩 작업 공간입니다. 프로젝트를 열고 기능이 무엇을 인식하고 무엇을 그대로 두며 불완전한 입력을 어떻게 보고해야 하는지 설명하세요. 그러면 연결한 모델이 소스를 검토하고 해당 경계에 맞는 변경을 제안할 수 있습니다.

코드 펜스 블록 추출은 구체적인 작업입니다. 기존 예시의 구분자와 언어 레이블 규칙을 사용해 빈 블록 및 줄바꿈을 포함한 허용 형식을 논의하세요. 구현을 검토하기 전에 제안된 파서가 닫히지 않은 블록을 어떻게 처리하는지 설명하도록 요청하세요. 추출된 본문은 텍스트입니다. 그 안의 내용을 실행하는 선택은 요구 사항이 다른 별도 기능입니다.

패치를 살펴본 뒤 프로젝트에서 정확한 출력 테스트 데이터를 실행하고, 실수로 재해석해서는 안 되는 미지원 형식도 포함하세요. 추출 성공뿐 아니라 크기 제한과 오류 처리도 검토하세요. AI 지원을 위해 필요 시 자격 증명과 함께 지원되는 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하세요. 서비스가 제공한다면 제한 없는 모델을 선택할 수 있으며 컨텍스트 용량과 도구 가용성은 서버에 따라 달라집니다. 유용한 세션은 허용 문법과 실패 동작을 명확히 설명할 수 있는 변경으로 끝납니다.

제한된 추출 기능 확인

코드 블록 추출은 내용을 실행한다는 뜻인가요?

아니요. 이 작업은 정해진 구분자 계약에 따라 텍스트를 반환합니다. 이후의 실행 결정은 추출과 분리하고, 반환된 본문을 처리하면서 예상치 않게 명령을 호출하거나 소스를 평가하지 않도록 후속 코드를 검토하세요.

이 루틴이 모든 Markdown 펜스 형식을 허용해야 하나요?

기존 예시는 의도적으로 제한된 형식을 지원합니다. 애플리케이션에 필요한 구분자와 레이블을 나열하고 명시적으로 확인하세요. 다른 Markdown 형식으로 확장하는 것은 파서 정리의 자동적인 결과가 아니라 요구 사항 변경입니다.

닫히지 않은 블록은 어떻게 처리해야 하나요?

변경을 구현하기 전에 불완전한 입력을 거부할지 명시하세요. 예시 작업에서는 거부합니다. 블록이 열린 채 끝에 도달하는 테스트 데이터를 포함하고 호출 코드가 결과를 적절히 표시하는지 검증하세요.

미지원 예시를 테스트에 유지하는 이유는 무엇인가요?

기능의 경계를 보여 줍니다. 모델이 제안한 표현식이 실수로 추가 형식을 인식하여 뚜렷한 실패 없이 동작을 바꿀 수 있습니다. 허용 텍스트와 그대로 두어야 할 텍스트를 함께 확인해 의도한 경계를 보존하세요.

Windows용 다운로드 ↗

FenceLilt · 업데이트 2026-10-25