В рамках некоторых правил лемматизации я пытаюсь сформировать регулярное выражение, которое будет соответствовать строкам, оканчивающимся на 'ses', 'zes', 'xes', 'ches' или 'shes', и у меня возникли трудности получить правильные группировки букв. Я думал, что следующее будет работать ...
re.fullmatch(r'.*[szx(ch)(sh)]es\b', infl)
но я вижу, что это будет соответствовать окончанию слов "ces" или "hes", где я хочу, чтобы оно совпадало только с окончаниями слова "ches" (то же самое для группировки (sh)). Должно быть, я неправильно понимаю, как правильно объединять группы. Всякий раз, когда я ставлю скобку вокруг набора групп, я сопоставляю все буквы внутри, а не только комбинации букв.
Как мне сделать так, чтобы выражение fullmatch
работало правильно? Должно быть, я неправильно понимаю, как работает объединение групп, поэтому краткое объяснение этого в этом контексте также будет полезно.
Кстати ... Мне нужен только верный / ложный возврат. Меня не интересуют возвращаемые значения.
Вот некоторые подходящие примеры: увольнение, вальсы, индексы, отрывы, различия.