Write a regular expression that starts with $a$ and doesn't contain $aba$ pattern.
My Solution:
If my expression doesn't contain $aba$, then it must not have a $b$ alone in the middle of it before ending, a single $b$ could appear at the end of the word only. So my regular expression will end with $(b+\epsilon)$ to give it a chance to not end with $b$ also.
Now I need to be able to add $abba,abbba,abbbbbbbbaaa$ and expressions with two or more $b$'s, so I thought about it and I can see that I can generate that using the regular expression $(bb+bbb)^*$, because I can reach $5$ and $4$ b's, so I can add two to $4$ and get $6$, can add $2$ to $5$ and get $7$...
And so with the other constraints I reached this: $a(a+bb+bbb)^*(b+\epsilon)$
Would appreciate any feedback, thanks in advance.
Your regular expression is correct but is obtained a bit gropingly. A more systematic way would be to first calculate the minimal automaton of the language $aA^* \setminus A^*abaA^*$ and then obtain a regular expression from this automaton.