如何突出显示返回的单词

时间:2014-10-12 05:02:17

标签: python-2.7

我需要从文本中搜索关键字,选择关键字周围的句子,然后只突出显示关键字。

p = re.compile(r'(([^\.]*\.){2}[^\.]*succession[^\.]*\.([^\.]*\.){2})')
p2 = re.findall(p, text)

上面的代码在包含继承的句子之前和之后找到两个句子。现在,我需要强调“继承”。我只需要将关键字设为粗体。我根本不关心颜色。有没有简单的方法呢?可能正在使用re.sub?

re.sub(r'succession', ' succession ', p2)

2 个答案:

答案 0 :(得分:0)

您可以使用termcolor模块执行此操作。

>>> import termcolor
>>> termcolor.cprint('yourText', color=None, attrs=['bold'])
yourText

我的终端屏幕截图:

enter image description here

答案 1 :(得分:0)

如果您的输出位于Unix标准(VT-100)兼容终端上,则使用VT-100转义序列使文本变为粗体。例如:

print('The process of \033[1msuccession\033[0m can be dangerous.')

此处,\033[1m启动粗体输出,\033[0m取消它。

使用re将所选文本设为粗体

的示例

作为命令行上的脚本:

enter image description here

在python解释器中:

enter image description here

这些截图是在X11下运行的Xterm终端中拍摄的。

具有更广泛兼容性的另一种方法

为了获得更好的兼容性和易用性,请考虑安装提供粗体/彩色文本的python包fabulous