Я построил для этого vtclean . Он разделяет escape-последовательности, используя эти регулярные выражения в порядке (объясняется в regex.txt ):
// handles long-form RGB codes
^\033](\d+);([^\033]+)\033\\
// excludes non-movement/color codes
^\033(\[[^a-zA-Z0-9@\?]+|[\(\)]).
// parses movement and color codes
^\033([\[\]]([\d\?]+)?(;[\d\?]+)*)?(.)`)
Кроме того, базовая эмуляция редактирования строк, поэтому обратные пространства и другие символы перемещения (например, левая стрелка).
Вы, кажется, спрашиваете о пересечении множеств . Давайте назначим некоторые произвольные идентификаторы дорогим предметам на личном и другом веб-сайте и найдем разницу :
site_a = set('cdeghklm')
site_b = set('cefhijlnop')
print(sorted(site_a - site_b))
['d', 'g', 'k', 'm']