我正在尝试在python中实现github风格的markdown,但是运气不好。。。我没有太多的正则表达式技能。在
以下是来自github的ruby代码:
# in very clear cases, let newlines become <br /> tags
text.gsub!(/(\A|^$\n)(^\w[^\n]*\n)(^\w[^\n]*$)+/m) do |x|
x.gsub(/^(.+)$/, "\\1 ")
end
到目前为止,我在Python2.5中得出的结论是:
^{pr2}$似乎根本没有任何效果:-/
如果有人在python中有一个github flavored markdown的完全工作的实现,除了this one(似乎不适用于新行),我很乐意听听。我最关心的是新线。在
以下是针对regex的测试,来自github的ruby代码:
>>> gfm_pre_filter('apple\\npear\\norange\\n\\nruby\\npython\\nerlang')
'apple \\npear \\norange\\n\\nruby \\npython \\nerlang'
>>> gfm_pre_filter('test \\n\\n\\n something')
'test \\n\\n\\n something'
>>> gfm_pre_filter('# foo\\n# bar')
'# foo\\n# bar'
>>> gfm_pre_filter('* foo\\n* bar')
'* foo\\n* bar'
Ruby版本的regex中有多行修饰符,因此您需要在python中执行相同的操作:
因此,代码将(像Ruby版本一样)在换行符之前添加两个空格,除非我们有两个换行符(段落)。在
你给的测试线对吗?您链接的文件具有以下特性,它使用固定代码:
^{pr2}$相关问题 更多 >
编程相关推荐