Я пытаюсь разбить строку следующим образом:
- Ноль или более согласных, за которыми следует ноль или более гласных, считаются токеном.
- Все остальные символы принимаются
Например, 'yes, oat is good'
делится на ['ye', 's', ',', ' ', 'oa', 't', ' ', 'i', 's', ' ', 'goo', 'd']
.
Попытка регулярного выражения re.compile(r'[bcdefghjklmnpqrstuvwxyz]*[aeiou]*').findall('yes, oat is good')
дает мне ['yes', '', '', 'oa', 't', '', 'i', 's', '', 'goo', 'd', '']
. Почему 'yes'
не разбивается на 'ye'
и 's'
?
Тогда попытка re.compile(r'[bcdefghjklmnpqrstuvwxyz]*[aeiou]*|.').findall('yes, oat is good')
дает мне тот же результат. Почему он не захватывает ','
и ' '
?
Наконец, есть ли способ избежать получения пустых строк?