我如何模糊地匹配一个句子中的一个完整的单词(而且只有一个完整的单词)?

2024-09-29 06:30:11 发布

您现在位置:Python中文网/ 问答频道 /正文

大多数的commonly misspelled English words都在两到三个正确的排版错误(替换s、插入i或字母删除d的组合)。一、 词对absence - absense中的错误可以概括为有1s、0I和0d

人们可以用代替reregex python module进行模糊匹配以查找单词及其拼写错误。

下表总结了从某个句子中模糊分割感兴趣的单词的尝试:

enter image description here

  • Regex1在sentence中找到最好的word匹配,最多允许2个 错误
  • Regex2在sentence中找到最佳的word匹配,允许 大多数2个错误是在试图操作整个单词时(我想)
  • Regex3在sentence中找到最佳的word匹配,允许 大多数2个错误,而操作只对整个单词。不知怎么的,我错了。在
  • Regex4在sentence中找到最佳的word匹配,允许 大多数2个错误,同时(我认为)寻找匹配的结束是一个词的边界

如果可能的话,如何编写一个正则表达式来消除这些词-句子对上的假阳性和假阴性模糊匹配?

一种可能的解决方案是只将句子中的单词(由空格或行首/行尾包围的字符串)与感兴趣的单词(主词)进行比较。如果主词和句子中的某个单词之间存在模糊匹配(e<;=2),则从句子中返回该完整单词(并且只返回该单词)。

代码

将以下数据帧复制到剪贴板:

            word                  sentence
0      cub cadet              cub cadet 42
1        plastex              vinyl panels
2            spt  heat and air conditioner
3     closetmaid                closetmaid
4          ryobi           batteries kyobi
5          ryobi       10' table saw ryobi
6  trafficmaster           traffic mast5er

现在使用

^{pr2}$

将表加载到环境中。


Tags: english错误单词sentence感兴趣commonly句子word