【发布时间】:2011-07-10 05:27:22
【问题描述】:
我编写了一组 Python 3 脚本来获取格式化的文本文件并将数据移动到 SQLite 数据库中。然后将数据库中的数据用作 PHP 应用程序的一部分。我的文本文件中的数据具有粗体和斜体的格式标记,但浏览器无法理解。格式化方案是这样的:
fi:xxxx (italics on the word xxxx (turned off at the word break))
fi:{xxx…xxx} (italics on the word or phrase in the curly brackets {})
fb:xxxx (bold on the word xxxx (turned off at the word break))
fb:{xxx} (bold on the word or phrase in the brackets {})
fv:xxxx (bold on the word xxxx (turned off at the word break))
fv:{xxx…xxx} (bold on the word or phrase in the brackets {})
fn:{xxx…xxx} (no formatting)
我想将源文本的每一行转换为(1. 包含字符串的行,使用 html 标记而不是源格式和 2. 另一行,包含去除所有格式标记的字符串)。即使在该行上没有使用格式化标记,我也需要为每个源行设置一个格式化和一个剥离的行。在源数据中,不同(或相同)排序的多个格式标记可能会显示在一行中,但您不会找到任何不会在该行之前结束的标记。
【问题讨论】:
-
听起来像是正则表达式的案例。
-
你为什么不使用 Markdown 或一些类似的轻量级标记语言,而不是自己发明?
-
我很乐意。不幸的是,我正在使用我已经从另一个来源获得的数据。我的脚本的全部原因是将它转换为更标准的东西,以便我可以使用它。大部分转换已经完成,但我还有这个格式问题需要处理。
-
顺便说一句,我无法找到一种方法来使用正则表达式来执行此操作,而无需对我找到的进行搜索和替换的字符串进行切片,而且我找不到切片的方法细绳。如果您有使用正则表达式的巧妙方法,请分享。
标签: python html python-3.x text-parsing