查找文本文件中某些单词的模糊比平均值

时间:2014-10-05 11:33:03

标签: python regex fuzzy-search

我试图找到文本文件中某些单词之间的模糊比率并获得其平均值。

我编写了一个编码,可以找到文本文件中所有行的模糊比例,其中包含' hello'但不是某些单词。我想在下面以正则表达式提供的某些单词之间找到模糊比。

我的编码:

s1='hello'
def good_ratio(a):
    return fuzz.token_set_ratio(a, s1)
with open(dir_entry_path, 'r') as my_file:
     try:
         my_sum, my_len = reduce(lambda a, b: (a[0]+b[0], a[1]+b[1]), ((good_ratio(i), 1) for i in my_file))
     except TypeError:  # file empty, move to next file

          continue
     fuzzinessav=(my_sum/my_len)

考虑我的文件包含可以使用正则表达式获得的某些单词: 正则表达式模式从我的文件中获取特定单词:

r'(?:see[.](\w+))'     when lines with :  see.me  ->takes 'me' 
r'(?:here (\w+))'      when lines with :  here we ->takes 'we'

文本文件:

Hello how are you!
did you see.him
of course he was here with me
ok then bye

我的编码会找到每条线的模糊比,然后找到每条线的模糊比,然后取平均值。

但是我需要这样一种方式,即正则表达式模式中的某些单词应该单独找到模糊比率而不是整行。这些单词是:him , with 然后我需要找到模糊比值的平均值。

请帮助添加正则表达式模式并找到某些单词的模糊比率,而不是所有行。

0 个答案:

没有答案