Markdown を解析するにはどうすればいいでしょうか? [closed] 質問する

Markdown を解析するにはどうすればいいでしょうか? [closed] 質問する

編集: 最近、CommonMark というプロジェクトについて知りました。これは、元の Markdown 仕様の曖昧さを正しく識別して対処するプロジェクトです。http://commonmark.org/優れた C# ライブラリ サポートを備えています。

構文は次のようになりますここ

ダウンロードに続くソースはパール、私は尊重するつもりはありません。正規表現が満載で、MD5ハッシュを使用して特定の文字をエスケープします。これは何かが間違っています。

私はパーサーをハードコードしようとしていますマークダウン。これに関する経験は何ですか?

Markdown の実際の解析について有意義なことを言うつもりがない場合は、時間を割いてください。(厳しいように聞こえるかもしれませんが、はい、私が求めているのは洞察であり、ソリューション、つまりサードパーティのライブラリではありません)。

答えを少し助けるために、正規表現はパターンを識別する! 文法全体を解析するわけではありません。そうすると考える人は foobar です。

  • Markdown について考えると、基本的には段落の概念に基づいています。
  • したがって、入力を段落に分割するのが合理的なアプローチかもしれません。
  • 段落には、見出し、テキスト、リスト、引用、コードなど、さまざまな種類があります。
  • したがって、課題はこれらの段落を特定し、どのような文脈で発生するかということです。

共有する価値があるとわかったら、解決策を持って戻ってきます。

ベストアンサー1

私が知っている唯一のマークダウン実装は、実際のパーサーを使用するもので、ジョン・マクファーレンペグマークダウンそのパーサーは、構文解析式の文法パーサージェネレータと呼ばれるペグ


編集:マウリシオ・フェルナンデス最近リリースされたシンプルなマークアップ マークダウン パーサー、これは彼が書いたオクシブログウェブログエンジン。パーサーはオカムルそれは非常にシンプルで短い(268 SLOC)パーサー、43 SLOCのHTML エミッター)、 まだ燃えるように速い(20%高速化)割引(手動で最適化されたCで書かれています)600倍速いブルークロスルビー)) ですが、まだパフォーマンスが最適化されていないのにも関わらず、Mauricio 自身がブログで内部的に使用することだけを目的としているため、公式Markdown仕様しかしマウリシオはこれらの変更のほとんどを元に戻すブランチ

おすすめ記事