Character classes are a way of saying this character or this other one or this other one or this other one. For example, [abc] matches a or b or c, as does the range [a-c]. The abbreviations are just shorthand for frequently used character classes. \d is shorthand for 0 or 1 or 2 or ... or 8 or 9---exactly the same as [0-9].
So, if you required that a username start with a letter then be made up of letters or numbers, you could use /[a-zA-Z]\d*/. If you wanted to match two words seperated by one or more spaces, you could use /\w+\s+\w+/.
Inverted character classes mean anything but this character or this other one or this other one. For example, [^0-9] matches anything except a digit. The abbreviation for this is \D.
So, if you want to see if a string contained any non-word characters, you could use /\W/; if you wanted to match 3 sets of digits followed by nondigits, you could use /\d+\D+\d+\D+\d+\D+/.
|