Regex: Last Occurrence of a Repeating Character

So, I am looking for a Regex that is able to match with every maximal non-empty substring of consonants followed by a maximal non-empty substring of vowels in a String

e.g. In the following strings, you can see all expected matches:

"zcdbadaerfe" = {"zcdba", "dae", "rfe"}

"foubsyudba" = {"fou", "bsyu", "dba"}

I am very close! This is the regex I have managed to come up with so far:

([^aeiou].*?[aeiou])+

It returns the expected matches except for it only returns the first of any repeating lengths of vowels, for example:

String: "cccaaabbee"

Expected Matches: {"cccaaa", "bbee"}

Actual Matches: {"ccca", "bbe"}

I want to figure out how I can include the last found vowel character that comes before (a) a constant or (b) the end of the string.

Thanks! 🙂

Read more here: Source link