Go to the previous, next section.
Following are operators that GNU defines (and POSIX doesn't).
The operators in this section require Regex to recognize parts of words. Regex uses a syntax table to determine whether or not a character is part of a word, i.e., whether or not it is word-constituent.
A syntax table is an array indexed by the characters in your
character set. In the ASCII encoding, therefore, a syntax table
has 256 elements. Regex always uses a char *
variable
re_syntax_table
as its syntax table. In some cases, it
initializes this variable and in others it expects you to initialize it.
emacs
and
SYNTAX_TABLE
both undefined, then Regex allocates
re_syntax_table
and initializes an element i either to
Sword
(which it defines) if i is a letter, number, or
`_', or to zero if it's not.
emacs
undefined but SYNTAX_TABLE
defined, then Regex expects you to define a char *
variable
re_syntax_table
to be a valid syntax table.
emacs
defined.
\b
)This operator (represented by `\b') matches the empty string at either the beginning or the end of a word. For example, `\brat\b' matches the separate word `rat'.
\B
)This operator (represented by `\B') matches the empty string within a word. For example, `c\Brat\Be' matches `crate', but `dirty \Brat' doesn't match `dirty rat'.
\<
)This operator (represented by `\<') matches the empty string at the beginning of a word.
\>
)This operator (represented by `\>') matches the empty string at the end of a word.
\w
)This operator (represented by `\w') matches any word-constituent character.
\W
)This operator (represented by `\W') matches any character that is not word-constituent.
Following are operators which work on buffers. In Emacs, a buffer is, naturally, an Emacs buffer. For other programs, Regex considers the entire string to be matched as the buffer.
\`
)This operator (represented by `\`') matches the empty string at the beginning of the buffer.
\'
)This operator (represented by `\'') matches the empty string at the end of the buffer.
Go to the previous, next section.