Попробуйте это:
re.split(r"[^\w']+",text)
Обратите внимание, что w
теперь в нижнем регистре, потому что он представляет все буквенно-цифровые символы (обратите внимание, что это включает в себя подчеркивание). Класс символов [^\w']
относится ко всему, что , а не (^
), либо буквенно-цифровому (\w
), либо апострофу.