I made a request to the technical support of Vkontakte developers, the answer is to only process the lines enclosed in square brackets and make a replacement. If someone needs to give the code:
# Если в тексте записи на стене ВКонтакте встречается ссылка на # группу ВКонтакте, то ссылка возвращается в виде [clubXXXXXXXX|Название группы] # pattern_link находит все такие подстроки в записи на стене. # pattern_group выделяет из соответствующего pattern_link текста подстроку между | и ] # после чего происходит замена подстроки # Параметры: # текст записи на стене def replace_link_with_group(record): # Построка в квадратных скобках,начинающаяся с club и имеющая разделитель | pattern_link = re.compile(ur'(\[club[^\[\]]+\])', re.UNICODE) # Подстрока между | закрывающей квадратной скобкой pattern_group = re.compile(ur'\|([^\[\]]+)\]', re.UNICODE) to_replace = re.findall(pattern_link, record['text']) message = record['text'] for pos in to_replace: replace_by = re.findall(pattern_group, pos) message = message.replace(pos, replace_by[0]) return message
Powered by django 1.9