When searching with MatchWildcards = True, [nb] doesn't mean the string "nb" but "either an n or a b".
So "\#[nb][A-z]{1,}" means: # followed by either an n or a b, followed by a number of characters between A and z i.e. including all upper case and all lower case letters, and also [ \ ] ^ _ and `since these characters are between Z and a in
the ASCII/ANSI character set.
#boVBA, #blVBA, and #nbVBA all match this pattern, which is not what you wanted, I suspect. Try changing the pattern \#[bo][a-z]{1,} to \#bo[a-z]{1,} and \#[bl][A-z]{1,} to \#bl[A-z]{1,} etc. etc.
Regards, Hans Vogelaar (http://www.eileenslounge.com)