【发布时间】:2012-09-17 22:22:15
【问题描述】:
我正在开发一种工具,可以将 python 源代码解析为一个漂亮的 html 文件。基本上,它逐行读取python文件,查看该行以确定其中的内容,然后添加正确的<span>标签,包括颜色、换行符等等。
我得到了程序的一般结构,现在我正在制作实际读取字符串并返回 HTML 丰富字符串的所有函数。
我一直在解析带有引号的字符串,即:
x = 'hello there'
if x == 'example "quotes" inside quotes' and y == 'another example':
到目前为止,我的工作一直是枚举一个字符串以获取单引号的索引,将它们作为一个列表返回,然后是两个将正确的 html 标记放在正确位置的 while 循环。当字符串中有一个单引号时,它似乎工作得很好,但是当我在一行中引入两个引号时,或者在引号内引入引号,或者最后 - 一个由“\”组成的字符串时,一切都崩溃了。
看来这条路走不通了。我现在正在考虑转向 .split()、shlex 或 re 并将字符串分解为一个列表并尝试使用它。
我真的很感激提示、指示和任何建议。
编辑:另外,为了更清楚,我需要将 HTML 标记放在字符串中的正确位置。使用字符串索引并没有对更复杂的字符串产生太多结果。
【问题讨论】:
标签: python html string parsing