我有以下测试字符串
正则表达式:
engine/mail/key
和一个如下所示的表格:+-------------+
| query |
+-------------+
| engine |
| engine/pdf |
| engine/mail |
+-------------+
我想找到最匹配的行。最佳匹配是指从字符串/行的开头开始最匹配的字符。
我已经构建了一个RegExp,但它当然会匹配所有行,并且不会告诉我哪个匹配了最多的字符/部分。正则表达式:
^engine(/mail(/key)?)?
我有另一个想法,可以使用MySQL的FIND_IN_SET
函数,像这样:`FIND_IN_SET(query,'engine,engine/mail,engine/mail/key')`
并按其输出结果排序。
这样做是可行的,但并不是一个好的解决方案。有没有更好的想法呢?
LENGTH(query)
排序是不够的,因为可能会有一行像engine/website
的内容,那么它将被选择而不是engine/mail
。 - samy-delux