pyparsing的Markdown语法,获取正确的空格

钩了

我正在编写一个小型转换程序,该程序将Markdown语法简化为html(作为学习练习),但是我无法正确设置间距:

from pyparsing import *

strong  = QuotedString("**")
text    = Word(printables)
tokens  = strong | text
grammar = OneOrMore(tokens)

strong.setParseAction(lambda x:"<strong>%s</strong>"%x[0])

A = "The **cat** in the **hat**."
print ' '.join(grammar.parseString(A))

我得到的是:

The <strong>cat</strong> in the <strong>hat</strong> .

我想要的是:

The <strong>cat</strong> in the <strong>hat</strong>.

是的,可以在没有pyparsing的情况下完成此操作并且存在其他实用程序可以做完全相同的事情(例如pandoc),但是我想知道如何使用pyparsing做到这一点。

比雷

不太熟练,但是我会尝试使用transformString()代替parseString()leaveWhitespace()来匹配标记,例如:

from pyparsing import *

strong  = QuotedString("**").leaveWhitespace()
text    = Word(printables).leaveWhitespace()
tokens  = strong | text
grammar = OneOrMore(tokens)

strong.setParseAction(lambda x:"<strong>%s</strong>"%x[0])

A = "The **cat** in the **hat**."
print grammar.transformString(A)

它产生:

The <strong>cat</strong> in the <strong>hat</strong>.

更新Paul McGuire指出的改进版本(请参阅评论):

from pyparsing import *

strong  = QuotedString("**")

strong.setParseAction(lambda x:"<strong>%s</strong>"%x[0])

A = "The **cat** in the **hat**."
print strong.transformString(A)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Pyparsing:嵌套Markdown强调

来自分类Dev

Pyparsing-递归语法

来自分类Dev

Pyparsing中的递归语法

来自分类Dev

在 C# 中获取变量的正确语法

来自分类Dev

调用函数并获取-输入语法不足,即使语法正确

来自分类Dev

pyparsing:字典列表的语法(erlang)

来自分类Dev

在pyparsing中正确使用nestedExpr

来自分类Dev

匿名函数内部的回调,无法正确获取语法

来自分类Dev

需要使用输入参数获取正确的JavaScript语法

来自分类Dev

正确获取C ++ 11自动初始化语法

来自分类Dev

需要使用输入参数获取正确的JavaScript语法

来自分类Dev

从 html 字符串链获取参数值的正确语法

来自分类Dev

使用 JQuery 添加 CSS 以获取附加属性的正确语法

来自分类Dev

Razor 页面:从何处获取正确的脚本引用语法

来自分类Dev

Vim语法(Markdown)

来自分类Dev

将BNF语法转换为pyparsing

来自分类Dev

需要在pyParsing语法中保留注释

来自分类Dev

正确的bash sed命令语法以获取正确的子字符串

来自分类Dev

Raku:Markdown语法以解析部分

来自分类Dev

Raku:Markdown语法以解析部分

来自分类Dev

Kramdown的通用Markdown代码语法

来自分类Dev

语法突出显示多余的空格

来自分类Dev

获取正确的默认保存名称并在 VBA 中保存带有空格的目录

来自分类Dev

SQL语法;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法

来自分类Dev

匹配大量包含pyparsing中的空格的字符串

来自分类Dev

主方法的正确语法

来自分类Dev

在'?'附近使用正确的语法

来自分类Dev

imagebutton的CommandArgument的正确语法

来自分类Dev

HTML Python正确语法