マッチングを繰り返し行う必要があります。開始すると最高の性能が得られます。制限のない繰り返しをネストするようなパターンについては注意が必要です。実行に長い時間を要します。(a+)*というパターンを考えてみましょう。組合せとかを意味する〕。取り得るすべての選択肢を調べるため、非常に長い時間がかかります。(a+)*bのように単一の文字リテラルが最後にある場合には最適化が行われます。あるかどうかを調べます。無い場合には、直ちにマッチは失敗します。文字リテラルが最後にない場合には、この最適化は行われません。(a+)*\dというパターンと上に挙げたパターンの動作を比較してみましょう。瞬間的に失敗と判定されます。文字を超えると、かなりの時間がかかります。