RegEx Character set with conditional

I’m trying to do the next:

/b[abcd(e|f)]{5}b/g

Then, should be equivalente to:

/b([abcde]{5}|[abcdf]{5})b/g

But, actually, considering the parenthesis part of the set.

My input is letters with no order:

abedg cbade cfead acbdf

Should return: cbade acbdf, but it also return cfead. But cannot be e and f at the same time