Regular. The key observation here is that successive occurrences of $abb$ and of $bba$ in any string over $\left\{a, b\right\}$ must alternate along the string. To see this, one can show that in any string $w$, between any two occurrences of $abb$ there is an occurrence of $bba$ and vice versa. Consider an arbitrary substring of $w$ delimited by two occurrences of $abb$. This string has the form $abbuabb$, where u is a possibly empty string. If u contains no a symbols, then the string bbua ends in $bba$. Otherwise, suppose that the first $a$ in u occurs at position i; then the string $bbu_1 . . . u_i$ ends in $bba$. For the other direction, again consider an arbitrary substring of $w$ delimited by two occurrences of bba. Then the reversal $w^R$ of w has the form abbuabb for some string u. By the above argument, $w^R$ must contain bba as a substring, so $w$ itself contains an occurrence of abb. For a string $w$, let $D\left(w\right)$ denote the difference between the number of occurrences of $abb$ and of $bba$ in $w$. By the above argument, for any$ w, \mid D\left(w\right)\mid \leq 1$. At this point it is not difficult to see what a DFA for our language should look like. The states should keep track of the last two symbols seen, as well as the sign of the quantity D(w). (See diagram; the start state is qst, and the accept states are marked in thicker lines.)