Python требует, чтобы группы захвата были полностью закрыты перед любыми обратными ссылками (\2
) на группу.
Вы можете использовать Положительный Lookbehind (?<=[\s,.])
и Положительный Lookahead (?=[\s,.])
утверждения нулевой длины для сопоставления слов внутри одинарных кавычек, включая такие слова, как I'm
, то есть:
re.findall(r"(?<=[\s,.])'.*?'(?=[\s,.])", string)
Full match 56-92 'Hello Mam how are you doing today?'
Full match 106-130 'I'm fine. How are you?'
Пояснение
![enter image description here](https://i.stack.imgur.com/FiVgg.jpg)
Regex Demo