編集:私は最近、CommonMarkと呼ばれるプロジェクトについて学びました。これは、元のMarkdown仕様のあいまいさを正しく識別して処理します。http://commonmark.org/優れたC#ライブラリサポートがあります。
構文はここにあります。
ダウンロードに続くソースはPerlで書かれており、私はそれを尊重するつもりはありません。それは正規表現でなぞられており、特定の文字をエスケープするためにMD5ハッシュに依存しています。それについて何かが間違っています!
Markdownのパーサーをハードコーディングしようとしています。これの経験とは何ですか?
Markdownの実際の構文解析について何か意味のあることがない場合は、時間を割いてください。(これは厳しいように聞こえるかもしれませんが、はい、私は洞察を求めています。解決策ではなく、サードパーティのライブラリです)。
答えを少し助けるために、正規表現はパターンを識別するためのものです!文法全体を解析しません。人々がそうすることを考えるのはフーバーです。
- Markdownについて考えると、それは基本的に段落の概念に基づいています。
- そのため、合理的なアプローチは、入力を段落に分割することです。
- 段落には、見出し、テキスト、リスト、ブロック引用、コードなど、さまざまな種類があります。
- したがって、これらの段落を特定し、それらがどのような状況で発生するかが課題です。
共有する価値があるとわかったら、私はソリューションで戻ってきます。