少なくともn一致する要素を持つ文字列を見つけます
-
27-10-2019 - |
質問
少なくとも3つを見つけたい数字のリストがあります...これが例です
(たとえば)形式のSQLデータベース内の数字の大きなリストがあります
01-02-03-04-05-06
06-08-19-24-25-36
など、基本的に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
私はこれに合ったアルゴリズムや正規表現さえあるかもしれないと思っています...しかし、私のコンピューターサイエンスの教科書の経験の欠如は私をつまずかせていると思います。
いいえ - これは宿題の質問ではありません!これは実際のアプリケーション用です!
私はRubyで開発していますが、どんな言語の答えも大歓迎です
解決
文字列交換を使用して交換できます -
と |
向きを変える 01-02-03-10-11-12
の中へ 01|02|03|10|11|12
. 。次に、このように包みます:
((01|02|03|10|11|12).*){3}
これにより、数字のペアが見つかり、3回の文字を無視します。それが一致する場合、成功します。
所属していません StackOverflow