0

少なくとも3つを見つけたい数字のリストがあります...これは例です

SQLデータベースに(たとえば)の形式で多数の数字のリストがあります

01-02-03-04-05-06
06-08-19-24-25-36

etc etc 基本的には 0 から 99 までの 6 つの乱数です。

ここで、指定された一連の数字のうち少なくとも 3 つが発生する文字列を見つけたいと考えています。例えば:

与えられた: 01-02-03-10-11-12 は、それらの数字を少なくとも 3 つ含む文字列を返します。例えば

01-05-06-09-10-12 would match
03-08-10-12-18-22 would match
03-09-12-18-22-38 would not

これに一致するアルゴリズムまたは正規表現が存在する可能性があると考えています... しかし、コンピューター サイエンスの教科書の経験が不足しているため、つまずいていると思います。

いいえ、これは宿題の質問ではありません。これは実際のアプリケーション用です。

私はルビーで開発していますが、言語の回答をいただければ幸いです

4

1 に答える 1

3

文字列の置換を使用して、に置き換えること-|でき01-02-03-10-11-12ます01|02|03|10|11|12。次に、次のようにラップします。

((01|02|03|10|11|12).*){3}

これにより、任意の数字のペアが検出され、任意の数の文字が無視されます... 3 回。一致すれば成功です。

于 2011-06-12T17:20:06.900 に答える