マークダウンシャープ
John Leidegren が指摘したように、Markdown Sharp はコード的にもそれほど悪くはありません。正規表現をコメントアウトしたり、複雑なプロジェクトを管理したりするのはそれほど簡単ではありません。それは間違いなく非常に高速で、十分にサポートされています. マークアップ パーサー ベースのアプローチはまだ見つかりません。次に例を示します。
pattern = string.Format(@"
(?:
(?<=\n\n) # Starting after a blank line
| # or
\A\n? # the beginning of the doc
)
( # save in $1
[ ]{{0, {0}}}
<(hr) # start tag = $2
\b # word break
([^<>])*? #
/?> # the matching end tag
[ \t]*
(?=\n{{2,}}|\Z) # followed by a blank line or end of document
)", tabWidth - 1);
text = Regex.Replace(text, pattern, new MatchEvaluator(HtmlEvaluator), RegexOptions.IgnorePatternWhitespace);