如何在正则表达式模糊搜索中添加变量错误。Python

2024-09-29 23:31:23 发布

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

import regex,re


sequence = 'aaaaaaaaaaaabbbbbbbbbbbbcccccccccccc' #being searched
query = 'aaabbbbbbbbbbbbccc' #100% coverage
query_1 = 'aaaabbbbbbbbcbbbcccc' #95% coverage
query_2 = 'aaabbbbcbbbbbcbccc' #90% coverage

threshold = .95
error = len(query_1) - (len(query_1)*threshold) #for query_1 errors must be <= 1

print regex.search(query_1 + '{e<={}}'.format(error),sequence).group(0)

我正在尝试向正则表达式搜索添加额外的参数,这样它只在查询的某个百分比按顺序搜索时有效。在

例如,如果我希望它的覆盖率至少为95%,它对query_1有效,但对query_2则不起作用


Tags: importrethresholdlencoverageerrorqueryregex
1条回答
网友
1楼 · 发布于 2024-09-29 23:31:23

使用regex模块:

import regex
sequence = 'aaaaaaaaaaaabbbbbbbbbbbbcccccccccccc' #being searched
query = 'aaabbbbbbbbbbbbccc' #100% coverage
query_1 = 'aaaabbbbbbbbcbbbcccc' #95% coverage
query_2 = 'aaabbbbcbbbbbcbccc' #90% coverage
threshold = 0.97
queries = (query, query_1, query_2)
for q in queries:
    error = int(len(q) - (len(q)*threshold))
    m = regex.search(r'(%s){e<=%d}'%(q,error), sequence)
    print 'match' if m else 'nomatch'

相关问题 更多 >

    热门问题