I understand it's a regular expression, but the problem is, ! is a reserved Bash word (negation), brackets (list) enclose a list which is executed in a subshell, both of these come directly from the Bash man page.
What you are describing is globbing, or filename expansion, which is a subset of...