编辑:我最近了解到一个名为CommonMark的项目,该项目可以正确识别并处理原始Markdown规范中的歧义。http://commonmark.org/它具有强大的C#库支持。
您可以在此处找到语法。
下载后的源代码是用Perl编写的,我无意承担任何责任。它充满了正则表达式,并且依靠MD5散列来转义某些字符。这有点不对劲!
我将为Markdown的解析器硬编码。这有什么经验?
如果您对Markdown的实际解析没有任何意义要说,请花点时间。(这听起来可能很刺耳,但是,是的,我正在寻找见识,而不是解决方案,即第三方库)。
为了对答案有所帮助,正则表达式旨在识别模式!不解析整个语法。人们认为这样做是愚蠢的。
- 如果您考虑Markdown,那么它基本上是基于段落的概念。
- 因此,一种合理的方法可能是将输入分成多个段落。
- 有许多段,例如标题,文本,列表,块引用和代码。
- 因此,面临的挑战是确定这些段落及其出现的背景。
一旦找到值得分享的解决方案,我将为您提供解决方案。