Frage

Ich habe eine Liste von Zahlen, die ich mindestens 3 finden möchte ... Hier ist ein Beispiel

Ich habe eine große Liste von Zahlen in einer SQL -Datenbank im Format von (zum Beispiel)

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

etc etc im Grunde genommen 6 Zufallszahlen zwischen 0 und 99.

Jetzt möchte ich die Saiten finden, in denen mindestens 3 einer Reihe gegebener Zahlen auftreten. Zum Beispiel:

Gegeben: 01-02-03-10-11-12 geben die Zeichenfolgen mit mindestens 3 dieser Zahlen zurück. z.B

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

Ich denke, dass es vielleicht einen Algorithmus oder sogar einen regelmäßigen Ausdruck geben könnte, der damit übereinstimmt ... aber mein Mangel an Informatik -Lehrbucherlebnis ist, denke ich.

Nein - das ist keine Hausaufgabenfrage! Dies ist für eine tatsächliche Anwendung!

Ich entwickle in Ruby, aber jede Sprachantwort würde geschätzt

War es hilfreich?

Lösung

Sie können einen String -Ersatz verwenden, um ersetzt zu werden - mit | drehen 01-02-03-10-11-12 hinein 01|02|03|10|11|12. Dann wickeln Sie es so ein:

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

Dies findet eines der Ziffernpaare und ignoriert dann eine beliebige Anzahl von Zeichen ... dreimal. Wenn es übereinstimmt, dann Erfolg.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top