当前位置:  开发笔记 > 编程语言 > 正文

如何在Python中解析简单的内联标记(即*bold*)?

如何解决《如何在Python中解析简单的内联标记(即*bold*)?》经验,为你挑选了1个好方法。

如何为修改文本的wiki文本子集实现解析器(在Python中),即:

*bold*, /italics/, _underline_ 

我正在将它转换为LaTeX,因此转换来自:

Hello, *world*! Let's /go/.

至:

Hello \textbf{world}! Let's \textit{go}.

虽然没有具体说明它是转换为LaTeX(特别是除了嵌套的情况,如"*bold/italics*whatami /"=>"textbf {bold\textit {italics} whatami}").

我查看了现有的标记库,但它们(a)不是我想要的维基语言,而且(b)似乎因这个问题而被压制.

我考虑过逆向工程Creoleparser,但我想知道在我付出努力之前别人有什么建议.

谢谢!



1> Can Berk Güd..:

如果您的语言很小,正则表达式可能是最不痛苦的解决方案:

>>> import re
>>> str = "Hello, *world*! Let's /go/."
>>> str = re.sub(r"\*([^\*]*)\*", r"\textbf{\1}", str)
>>> str = re.sub(r"/([^/]*)/",   r"\textit{\1}", str)
>>> str
"Hello, \textbf{world}! Let's \textit{go}."


有些人在面对问题时会想"我知道,我会使用正则表达式".现在他们有两个问题.--Jamie Zawinski
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有