場合によっては特殊キャラクタを通常キャラクタとするためにクォートしなくて
良いときもある。たとえば大部分のキャラクタはリスト中では
その特殊な意味を失う(セクション List Operators ([
... ]
and [^
... ]
)を参照)。それに加えて、
シンタクスビットのRE_CONTEXT_INVALID_OPS
と RE_CONTEXT_INDEP_OPS
がセットされていないと(歴史的な理由によって)
それが使われている場所によっては演算子の持つ意味が失われる。たとえば
match-zero-or-more演算子(`*'で表される)は、`*foo'という
正規表現では、直前に正規表現がないので、キャラクタそれ自身にマッチする。
例に挙げるにはあまり良いものではないかもしれないが、このような
動作に依存しているのである。もし、スペシャルキャラクタを
リストの外で普通のキャラクタとして扱いたいのであれば、
それを常にクォートするのが良いだろう
従って、Regexはリストの先頭に置かれた `^'を認識しない。もし`^'をマッチングリストの先頭のキャラクタと 思って置いたとしても、それはリスト全体をnonmatching listに変えてしまう。
範囲の先頭や終端にキャラクタクラスを置くことはできない。それは キャラクタクラスが単なる一文字ではないからである。
正規表現は "パターン"としても参照されるので"パターンバッファ"という名前なのである
すべての英大文字を対応する英小文字にマッピングしたテーブルも 同じ目的に使用できる。