我需要一个正则表达式来帮助我搜索数据库。
它应该能够做到:
- 在单词搜索中。示例:ell => 你好,Yello,Mellt,...。
- 相似词: 例子:gold => hold, golt, cost, ...
这可能与正则表达式有关吗?
如果是的话,这个正则表达式是什么样子的?
问候
通常会通过LIKE
带有通配符的运算符来完成:
WHERE column LIKE '%ell%'
可以使用字符串相似性度量来完成,例如 Levenshtein 距离。这是 MySQL 作为存储过程的实现。然而,对于几乎每个字符串相似度算法,“黄金”和“成本”相差甚远。
这是一个非常笼统的问题。我只能推荐简单的解决方案:
让我们看看你所说的第一个例子:
$your_root = "el"
然后:
$string =~ /\w*$your_root\w*/
匹配 'h el lo'、'y el lo' 但也匹配 'iafbi342b el erger64'