0

我需要一个正则表达式来帮助我搜索数据库。

它应该能够做到:

  1. 在单词搜索中。示例:ell => 你好,Yello,Mellt,...。
  2. 相似词: 例子:gold => hold, golt, cost, ...

这可能与正则表达式有关吗?

如果是的话,这个正则表达式是什么样子的?

问候

4

2 回答 2

1
  1. 通常会通过LIKE带有通配符的运算符来完成:

    WHERE column LIKE '%ell%'
    
  2. 可以使用字符串相似性度量来完成,例如 Levenshtein 距离。是 MySQL 作为存储过程的实现。然而,对于几乎每个字符串相似度算法,“黄金”和“成本”相差甚远。

于 2012-07-23T10:34:44.487 回答
0

这是一个非常笼统的问题。我只能推荐简单的解决方案:

让我们看看你所说的第一个例子:

$your_root = "el"

然后:

$string =~ /\w*$your_root\w*/

匹配 'h el lo'、'y el lo' 但也匹配 'iafbi342b el erger64'

于 2012-07-23T10:34:52.453 回答