Just as you can specify a range for the number of characters to be matched, you can also specify a range of characters. For example, the range
would match a single instance of all upper-case alphabetic characters, while
would match all lowercase letters, and
would match all numbers between 0 and 9.
Using these three ranges, it's pretty easy to create a regular expression to match an alphanumeric field.
would match a string that was purely alphanumeric in nature, like "aB0" - although
not "abc". Note the parentheses around the patterns - contrary to what you might think, these are not there purely to confuse you; they come in handy when grouping sections of a regular expression together.
Choice is very important when building regular expressions - as in most other languages, it's possible to use the pipe [|] operator to indicate multiple options in a regex. For example,
would match any one of the three strings "to", "too" and "2". As you can imagine,
this comes in pretty useful when building expressions that have many possible variants.
You can also invert the regular sense of a regular expression with the negation operator, represented by a caret [^] - so the pattern
would match everything but that which appears in the expression - namely, everything
except the letters "A", "B" and "C". Note how the caret, when used in a bracketed expression, is used to invert the match; this behaviour is different from when it is used outside a bracketed expression, where it serves as a pattern anchor.