I think he might be using the exclamation mark in the sense that some programming languages use it: 'not' as in logical negation.
As for the possible solution (lacking any knowledge of the regex/langauge/paltform etc (OP - please read the posting guidelines in the sticky note at the strat ofm this forum)), try:
^(?!A\d{4}[a-z]$).*$
with the 'ignore case' option on, which will accept anything other than the pattern in the lookahead.
Of course, if this is embedded in a programming language, then you could do something like the following pseudo-code:
regexExpression re = regexMatch("[aA]\d{4}[a-zA-Z]")
if( !re.matchesTheText(someText))
then
do something knowing that someText does NOT match the pattern
end
I think this is what the OP was thinking about.
Susan