This is more of a computer science question than a programming one, but I figure that this is the best place out of all the related sites to ask this.
When I discovered Regular Expressions and looked up the term I assumed that this property of “regularity” refers to the fact that the expression’s language has a definable structural pattern. However, in reading about the subject and the theory behind this I learned that there are kinds of languages that are not regular, and yet from the way they are defined it’s clear that a pattern can be matched to them. One such language is (a^n)(b^n). Clearly this is a pattern, and yet this is not a regular language. So now I’m left wondering what is it about regular languages that makes them regular, and this language not?
The etymology of the name comes from Kleene’s 1950s work describing regular sets using his mathematical notation created for the purpose. See this.