我有一个问题,我想匹配数据库中与给定字符串具有一定编辑距离的所有字符串。
我的想法是生成一个正则表达式,该表达式将匹配所有具有与 string 编辑距离d
的字符串s
。
因此,例如,我想为以下形式生成正则r
表达式:d = 1
等等。但我不确定这是否非常有效,或者是否已经有一些很好的算法来解决这个问题?我想考虑在编辑距离中甚至字符交换。所以也应该是一部分。我想在 PHP 中实现它,然后进行 SQL 查询:.s = 'abc'
r = 'abc|.abc|.bc|a.c|ab.|abc.'
'acb'
r
SELECT * FROM table WHERE name RLIKE TheRegularExpression
这是一个很好的方法吗?或者你会推荐什么?