Для цветного текста вы можете использовать ANSI Escape коды.В Python вы должны сделать следующее, чтобы изменить цвет текста с этого момента.
print '\033[' + str(code) + 'm'
Где код является значением от здесь .Обратите внимание, что 0 сбросит все изменения, а 30-37 - цвета.Таким образом, в основном вы хотите вставить '\ 033 [' + str (code) + 'm' перед совпадением и '\ 033 [0m' впоследствии для сброса вашего терминала.Например, следующее должно привести к печати всех цветов вашего терминала:
print 'break'.join('\033[{0}mcolour\33[0m'.format(i) for i in range(30, 38))
Ниже приводится грязный пример того, что вы просили
import re
colourFormat = '\033[{0}m'
colourStr = colourFormat.format(32)
resetStr = colourFormat.format(0)
s = "This is a sentence where I talk about interesting stuff like sencha tea."
lastMatch = 0
formattedText = ''
for match in re.finditer(r'sen\w+', s):
start, end = match.span()
formattedText += s[lastMatch: start]
formattedText += colourStr
formattedText += s[start: end]
formattedText += resetStr
lastMatch = end
formattedText += s[lastMatch:]
print formattedText