J'ai la chaîne de test suivante engine/mail/key
et un tableau qui ressemble à ceci :
+-------------+
| query |
+-------------+
| engine |
| engine/pdf |
| engine/mail |
+-------------+
Je veux trouver la meilleure rangée correspondante. La meilleure correspondance est spécifiée par les caractères les plus correspondants à partir du début de la chaîne/rangée.
J'ai construit une RegExp, mais elle correspond bien sûr à toutes les lignes et ne me donne aucune information sur celle qui correspond au plus grand nombre de caractères/parties.
Regexp : ^engine(/mail(/key)?)?
J'ai eu une autre idée en utilisant la fonction MySQL FIND_IN_SET
comme ceci :
`FIND_IN_SET(query,'engine,engine/mail,engine/mail/key')`
Et ordonner le résultat par son rendement.
Cela pourrait fonctionner, mais ce n'est en aucun cas une solution agréable. Quelqu'un a-t-il une meilleure idée à ce sujet ?