Sometimes
you don't have to explicitly quote special characters to make
them ordinary. For instance, most characters lose any special meaning
inside a list (see section List Operators ([ ... ] and [^ ... ])). In addition, if the syntax bits
RE_CONTEXT_INVALID_OPS and RE_CONTEXT_INDEP_OPS
aren't set, then (for historical reasons) the matcher considers special
characters ordinary if they are in contexts where the operations they
represent make no sense; for example, then the match-zero-or-more
operator (represented by `*') matches itself in the regular
expression `*foo' because there is no preceding expression on which
it can operate. It is poor practice, however, to depend on this
behavior; if you want a special character to be ordinary outside a list,
it's better to always quote it, regardless.
Regex therefore doesn't consider the `^' to be the first character in the list. If you put a `^' character first in (what you think is) a matching list, you'll turn it into a nonmatching list.
You can't use a character class for the starting or ending point of a range, since a character class is not a single character.
Regular expressions are also referred to as "patterns," hence the name "pattern buffer."
A table that maps all uppercase letters to the corresponding lowercase ones would work just as well for this purpose.
This document was generated on 24 July 1996 using the texi2html translator version 1.50.