スペースを表すハイフンを含む数字の文字列があるとします。
string, A := 1212-241321413-21341-3
興味のある既知の数のグループがあり、
group, G := ( 1, 2)
つまり、12または21の順序は気にしません。知りたいのは、1と2のみを含むすべての部分文字列とその開始位置を見つけるアルゴリズムがあるかどうかです(部分文字列には1が含まれている必要があります)および 2 であり、隣接する繰り返しがない、つまり、22 または 11 が表示されることはありません)
つまり、文字列 A とグループ G でアルゴリズムを実行すると、次のような結果が得られます。
>> substringfind(A, G)
>>
>> { 1212 : [0], 21 : [9, 15] }
アルゴリズムが、キーを部分文字列として、キー値を文字列内の開始位置のリストとして含む辞書を返した場合。
別の例は次のとおりです。
group H := (1, 3, 4)
そして、アルゴリズムは生成します
>> substringfind(A, H)
>>
>> { 413 : [7], 1413 : [11], 1341 : [16] }