以下の演算子はGNUで定義されている(POSIXでは定義されていない)。
このセクションの演算子は語の一部分を認識するものである。 Regexはシンタクステーブルを使ってキャラクタが語の一部分(word-constituent) であるか否かを決定する。
シンタクステーブルはあなたが使っているキャラクタセットのキャラクタで
添字付けされる配列である。したがって、ASCIIのコードを使っている
場合にはシンタクステーブルは256の要素を持つことになる。
Regexは常にchar * variable re_syntax_tableを
シンタクステーブルであるかのように使用する。
場合によっては、この変数とその他の初期化を自分で行うことになる。
emacsとSYNTAX_TABLEの両方が定義されずにRegexがコンパイル
されている場合、Regexはre_syntax_tableをアロケートし、
i番目の要素に対して、iが英字、数字、もしくは`_'であれば
Sword(定義されている)を、それ以外であればゼロをセットする。
emacsは定義されないがSYNTAX_TABLEを定義した状態で
Regexがコンパイルされた場合、Regexは
char * variable re_syntax_tableがユーザによって
正しいシンタクステーブルになっていることを仮定する。
emacsが定義されている状態でコンパイルされたときの説明は
セクション Emacs Syntax Tablesを参照を参照の事。
\b)この演算子(`\b'で表される)は、単語の先頭か終端にある空文字列に マッチする。たとえば、`\brat\b'は独立した単語の`rat'に マッチする。
\B)この演算子(`\B'で表される)は、単語の中にある空文字列にマッチする。 たとえば、`c\Brat\Be'は`crate'にマッチするが、 `dirty \Brat'は`dirty rat'にはマッチしない。
\<)この演算子(`\<'で表される)は単語の先頭にある空文字列にマッチする。
\>)この演算子(`\>'で表される)は、単語の終端にある空文字列にマッチする。
\w)この演算子(`\w'で表される)は、単語を構成するキャラクタにマッチする。
\W)この演算子(`\W'で表される)は、単語の構成要素にならないキャラクタに マッチする。
以下の演算子はバッファ中で働く演算子である。Emacsでは、バッファは 自然に、Emacsバッファである。他のプログラムでは、Regexは 文字列全体をバッファであるかのようにマッチングを行う。
\`)この演算子(`\`'で表される)は、バッファの先頭にある空文字列に マッチする。
\')この演算子(`\''で表される)は、バッファの終端にある空文字列に マッチする。