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.