编辑:我最近了解了一个名为 CommonMark 的项目,它可以正确识别和处理原始 Markdown 规范中的歧义。http://commonmark.org/它有很好的 C# 库支持。
您可以在此处找到语法。
下载后的源代码是用Perl编写的,我无意兑现。它充斥着正则表达式,它依赖MD5散列来转义某些字符。这有点不对劲!
我即将为Markdown硬编码一个解析器。这有什么经验?
如果你对 Markdown 的实际解析没有任何意义,请抽空。(这听起来可能很苛刻,但是是的,我正在寻找洞察力,而不是解决方案,即第三方库)。
为了对答案有所帮助,正则表达式旨在识别模式!不要解析整个语法。人们认为这样做是 foobar。
- 如果您考虑 Markdown,它基本上是基于段落的概念。
- 因此,一种合理的方法可能是将输入分成几段。
- 段落有很多种,例如标题、文本、列表、块引用和代码。
- 因此,挑战在于识别这些段落以及它们出现在什么上下文中。
一旦我发现它值得分享,我会回来提供解决方案。