位置的nグラム一致の場合、類似性の測定時にパターンだけでなく位置の一致も必要になります。position値は、2つの文字列間の一致が位置的にどれだけ離れていてもかまわないかを示します。
- positionの値に0が設定されている場合、2つの文字列内の同じ位置で一致することが必要になります。
- positionがxの値に設定されている場合、2つの文字列内の一致位置の差がx以内になる必要があります。例えば、position = 2の場合は、2つの文字列内の一致位置の差が2以内になる必要があります。
例えば、文字列が'abc'の場合の1グラム(長さ=1)は、'a'、'b'および'c'になります。2グラム(長さ=2)は、'ab'および'bc'になります。3グラムは(長さ=3)は、'abc'になります。定義により、4グラム以上は存在しません。
次のケースでは、関数はゼロを返します。
- length引数が、string1またはstring2のどちらかの長さよりも大きい場合。
- length引数が<= 0の場合や、string1またはstring2のどちらかが空の文字列の場合。
長さが255を超えるパターンは無視されます。