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