Можно утверждать, что что-то вроде следующего более «элегантно», чем ваш оригинальный код.
if (!foo.matches("^ba.*|^cab$|^bca$|^bbc$|^ccb$|^cca$")) {
// do something
}
Я предпочитаю оригинал, так как он самый простой, использует естественный язык, понятный любому, и, следовательно, его удобнее поддерживать