I'm learning about regular expressions and how they represent regular languages of an alphabet. Conceptually, I'm having trouble imagining what a regular expression would look like, representing a language that has at least x amount of a's and y amount of b's, for example, in an alphabet {a,b}.
The way I understand it, if the question was, for example, a regular expression representing the language with at least one of each, the regular expression would look like $a^*b^*(ab+ba)a^*b^*$ ... But this doesn't seem very efficient. I know that if you have a regular expression $(ab)^*$, the language does not include the word ba, yet once the the "least number" of letters in the alphabet increases, the length of the expression roughly increases exponentially! I'm aware of the "+" symbol, but wouldn't that have the same problem as star when applying it to "at least 1 of each" problems?
Say, for the regular expression representing the language with at least two a's and b's, it seems excessive to write $a^*b^*(aabb+abab+bbaa+baba+baab+abba)a^*b^*$. I'm confused because I feel like there has to be a simpler way to write the expression, but I can't seem to find a solution. If there is a simpler way to write it, is the example I use still valid?