После сортировки списка:
Код: Выделить всё
keywords = [ 'Hello', 'Python', 'Welcome', 'Welcome to']
keywords.sort(key=len, reverse=True)
print(keywords)
keyword_pattern = re.compile(r"([#@])(\w+)|" + '|'.join(r'\b' + re.escape(keyword) + r'\b' for keyword in keywords))
matches = re.finditer(keyword_pattern, 'Hello, world! Welcome to #Python.')
for match in matches:
print(match)
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/791 ... m-the-list