편집 : 나는 최근 인Markdown 사양의 모호성을 정확하게 식별하고 다루는 CommonMark라는 프로젝트에 대해 알게되었습니다. http://commonmark.org/ 훌륭한 C# 라이브러리 을 지원합니다.Markdown 구문 분석에 대해 어떻게 생각하십니까?
here 구문을 찾을 수 있습니다.
다운로드와 함께 나오는 출처는 Perl으로 작성되어 있으며,이를 기리는 의도는 없습니다. 정규 표현식으로 가득 차 있으며 특정 문자를 이스케이프 처리하기 위해 해시가 MD5 개 있습니다. 뭔가 잘못되었습니다!
저는 파서를 Markdown으로 하드 코딩하려고합니다. 이 경험은 무엇입니까?
Markdown의 실제 구문 분석에 대해 의미있는 바가 없다면 시간을 절약하십시오. (가혹한 것처럼 보일 수도 있지만 예, 통찰력을 찾고 솔루션이 아니라 제 3 자 라이브러리를 찾고 있습니다.)
답변을 조금 도와주기 위해 정규식은 으로 지정되어 있습니다.! 문법 전체를 파싱하지 마라. 사람들은 그렇게하는 것이 foobar라고 생각합니다.
- Markdown을 생각하면 근본적으로 단락 개념을 기반으로합니다.
- 이와 같이 타당한 방법은 입력을 단락으로 나누는 것입니다.
- 제목, 텍스트, 목록, blockquote 및 코드와 같은 많은 종류의 단락이 있습니다.
- 그러므로 이러한 단락을 식별하고 이들이 어떤 맥락에서 발생하는지 파악해야합니다.
공유 할 가치가 있다고 판단되면 해결책을 찾을 것입니다.
@cletus는 markdown 파서를 작성하고 있습니다. http://www.cforcoding.com/search/label/markdown을 참조하십시오. –
동일한 결과를 얻었습니다. 그러나 명확히 그렇지 않기 때문에 나는 형식적인 문법 인 것처럼 문구를 분석하려고하지 않습니다. 재귀 적으로 다른 정규 표현식을 적용했습니다. 그리고 여러 번 통과합니다. 그것은 아주 잘 해결되었습니다. –
@ JohnLeidegren, 나 자신과 같은 다른 호기심 많은 사용자가 마크 다운을 파싱 할 때 귀하의 시도를 볼 수 있습니까? – jmlopez