テーブルであれば、そのテーブルは最初のキャプチャをキーとしてマッチのたびに問い合わせられる。パターンにキャプチャがなければ、マッチ全体がキーとして使われる。関数であれば、マッチが現れるたびにこの関数が呼ばれる。関数にはキャプチャされた部分文字列が順番にすべて渡される。パターンにキャプチャが指定されていなければ、マッチした全体が唯一の引数として渡される。テーブル問い合わせまたは関数呼び出しから返された値が文字列か数値であれば、それが置換文字列として使われる。(つまり、文字列中の元のマッチが維持される)。置換が行われる最大回数を制限する。クエリのパースを行う例。