Je voudrais écrire une regex qui divise un mot en groupes cvc (consonne/voyelle/consonne) ou vcv. Quelque chose de similaire à ngrams mais en utilisant des voyels et des consonnes. Voici un exemple:Comment extraire des groupes de consonnes/voyelles d'un mot?
helloworld
produiraient les groupes suivants:
hell
ello
llow
owo
world
J'ai écrit le regex suivant:
(?=(([aeiouy]+|[^aeiouy]+){3}))
La première partie ([aeiouy]+|[^aeiouy]+){3}
capture soit un groupe VCV ou cvc , le reste (?=())
est une assertion positive de lookahead. Il ne fonctionne pas comme prévu:
hell
ello
llow
low //owo expected
Ainsi, la présente partie '(? [Aeiou] + | [b-dfghj-NP- tv-z] +) 'forcera le moteur à consommer un groupe de voyels ou de consonnes avant de correspondre au prochain groupe cvc ou vcv. Je crois que j'ai compris. Question: est-il préférable de faire correspondre les consonnes comme vous l'avez fait (en les spécifiant explicitement) et comment je l'ai fait (en disant que c'est tout mais pas les voyelles)? – tigrou
@tigrou: Je ne pense pas qu'il y ait une grande différence. –