SQL Regexp类似于模式匹配任何单词组合

所以我正在用regexp_like处理perl sql风格,并且需要基于模式匹配来组合两个表。其中一项可能是“乳房X线检查”,另一项可能是“双边X线检查”。我真的需要匹配帮助,才能使10个单词中的9个匹配,如果不起作用,则10个单词中有8个,依此类推,或者在两个表中最像字符(或单词)。

我真的需要帮助,以使这一切得以进行,其余的我都可以自己清理。我可以自己清洁(例如,“移除起搏器”与“插入起搏器”必须有所不同,但我知道解决这可能是一项艰巨的任务)。我遇到的问题是让这样的行只匹配regexp_like(x,y,'i')类型的联接。

对于正则表达式的新手,我花了数小时寻求帮助,但找不到任何东西,对不起,如果我错过了什么

更新:好的,为了澄清,我目前正在运行-

regexp_substr(x.x.concept_name,'\w+\b',1,1) = regexp_substr(y.x,1)
AND regexp_substr (x.x,2) = regexp_substr (x.y,2)
AND regexp_substr (x.x,3) = regexp_substr (x.y,3)
and so on... 

因此与前3个字匹配(也恰好是作为过滤器进行了一个空格计数,在这种情况下,如果它有3个空格)。我基本上需要做1,2 =(1,1 || 1,2 ||| 1,3),依此类推,直到永远,尽管其中一些有100多个空格... 所以Regexp_like不太起作用,但是我试图找到一个regexp_substr()来工作。

更新2:Levenshtein距离可能对其中一些有所帮助,但是我需要找到这两者之间的最短距离,尽管我不知道该怎么做。

更新4:

  

'Spinal Fusion'='脊柱融合'       '乳房X光检查-双边'='乳房X光检查'       'Echocardiogram(ECG)'='ECG'

更新5:我实际上使用regexp_ilike(x,y),但是regexp_like()似乎更常见。其Vertica SQL语法,该语法使用PCRE(Perl)

leecomezhou 回答:SQL Regexp类似于模式匹配任何单词组合

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2837810.html

大家都在问