Код: Выделить всё
import re
fruit_list = ['apple banana', 'apple', 'pineapple', 'banana', 'banana apple', 'kiwi']
fruit = re.compile('|'.join(fruit_list))
fruit_re = [ re.compile(r'\b('+re.escape(fruit)+r')\b') for fruit in fruit_list]
fruit_re.append(re.compile( r'([#@])(\w+)'))
string = "this is pooapple is banana apple #apple"
for ft in fruit_re:
match = re.finditer(ft, string)
print(type(match))
for mat in match:
print(mat.span())
print(mat.group())
print("****************")
Код: Выделить всё
(27, 32)
apple
****************
(34, 39)
apple
****************
(20, 26)
banana
****************
(20, 32)
banana apple
****************
(33, 39)
#apple
****************
Ty
Подробнее здесь: https://stackoverflow.com/questions/791 ... xact-match