Editar: Hace poco conocí un proyecto llamado CommonMark, que identifica correctamente y trata las ambigüedades en la especificación de reducción original . http://commonmark.org/ Tiene gran biblioteca C# soporte.¿Qué harías al analizar Markdown?
Puede encontrar la sintaxis here.
La fuente que sigue con la descarga está escrita en Perl, que no tengo intenciones de honrar. Está plagado de expresiones regulares, y se basa en hash MD5 para escapar de ciertos caracteres. Algo está mal acerca de eso!
Estoy a punto de codificar un analizador para Markdown. ¿Qué es la experiencia con esto?
Si no tiene nada significativo que decir sobre el análisis real de Markdown, evíteme el tiempo. (Esto puede sonar duro, pero sí, estoy buscando información, no una solución, es decir, una biblioteca de terceros).
Para ayudar un poco con las respuestas, las expresiones regulares están destinadas a identificar patrones! NO analizar una gramática completa. Que las personas consideren hacerlo es foobar.
- Si piensa en Markdown, se basa fundamentalmente en el concepto de párrafos.
- Como tal, un enfoque razonable podría ser dividir la entrada en párrafos.
- Hay muchos tipos de párrafos, por ejemplo, encabezado, texto, lista, blockquote y código.
- El desafío es, por lo tanto, identificar estos párrafos y en qué contexto se producen.
Volveré con una solución, una vez que encuentre que es digno de ser compartido.
@cletus está escribiendo un analizador de rebajas, consulte http://www.cforcoding.com/search/label/markdown –
Terminé haciendo lo mismo. Sin embargo, no estoy tratando de analizar el descuento como si se tratara de una gramática formal, porque claramente no es así. Apliqué diferentes expresiones regulares de forma recursiva. Y en varios pases. Eso funcionó muy bien. –
@JohnLeidegren, ¿hay alguna posibilidad de que otros usuarios curiosos como yo veamos tu intento de analizar el descuento? – jmlopez