편집 : 최근에 원래 Markdown 사양의 모호성을 올바르게 식별하고 처리하는 CommonMark라는 프로젝트에 대해 배웠습니다. http://commonmark.org/ C # 라이브러리를 훌륭하게 지원합니다.
구문은 여기에서 찾을 수 있습니다 .
다운로드와 함께 제공되는 소스는 Perl 로 작성되었으며 ,이를 존중할 의도는 없습니다. 정규 표현식으로 가득 차 있으며 MD5 해시에 의존하여 특정 문자를 이스케이프합니다. 그것에 대해 뭔가 잘못되었습니다!
Markdown에 대한 파서를 하드 코딩하려고 합니다. 이것에 대한 경험은 무엇입니까?
Markdown의 실제 구문 분석에 대해 의미있는 말이 없으면 시간을 절약하십시오. (이것은 가혹하게 들릴 수도 있지만, 해결책이 아닌 통찰력, 즉 타사 라이브러리를 찾고 있습니다).
정답은 패턴 을 식별 하기 위한 것입니다 . 전체 문법을 파싱하지 마십시오. 사람들이 그렇게 생각하는 것은 바보입니다.
- Markdown에 대해 생각하면 기본적으로 단락 개념을 기반으로합니다.
- 따라서 합리적인 접근 방식은 입력을 단락으로 나누는 것일 수 있습니다.
- 제목, 텍스트, 목록, 인용 부호 및 코드와 같은 많은 종류의 단락이 있습니다.
- 따라서이 단락과 그 문맥이 무엇인지 파악해야합니다.
공유 할 가치가 있다고 판단되면 솔루션으로 돌아올 것입니다.