You can easily search for all characters except those in square brackets by putting a caret (^) as the first character after the left square bracket ([). To match all characters except lowercase vowels, use [^aeiou].
Like the anchors in places that can't be considered an anchor, the right square bracket (]) and dash (-) do not have a special meaning if they directly follow a [. Table 32-2 has some examples.
| 
 Regular expression  | 
 Matches  | 
|---|---|
| 
 [0-9]  | 
 Any digit  | 
| 
 [^0-9]  | 
 Any character other than a digit  | 
| 
 [-0-9]  | 
 Any digit or a -  | 
| 
 [0-9-]  | 
 Any digit or a -  | 
| 
 [^-0-9]  | 
 Any character except a digit or a -  | 
| 
 [ ]0-9]  | 
 Any digit or a ]  | 
| 
 [0-9]]  | 
 Any digit followed by a ]  | 
| 
 [0-99-z]  | 
 Any digit or any character between 9 and z  | 
| 
 [ ]0-9-]  | 
 Any digit, a -, or a ]  | 
Many languages have adopted the Perl regular expression syntax for ranges; for example, \w is equivalent to "any word character" or [A-Za-z0-9_], while \W matches anything but a word character. See the perlre(1) manual page for more details.
-- BB
Copyright © 2003 O'Reilly & Associates. All rights reserved.