Regexは通常"最左最長"規則にしたがって文字列のマッチングを行う。 これは、最も左にある最長の正規表現を選択するということである。 これは正規表現を構成する部分正規表現の中で単純に最も長くマッチした 部分正規表現を選択するということではない。 マッチした部分全体が、(マッチする)最大のものでなければならない ということである。
たとえば、`(ac*)(c*d[ac]*)\1'は`acdacaaa'にマッチするけれども `acdac'にはマッチしない。
それは最初の部分正規表現には最も長いものが選択されるからである。