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

标签 python regex search coverage.py

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

最佳答案

使用 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'

关于python - 如何将变量错误添加到正则表达式模糊搜索中。 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436761/

相关文章:

python - 无法为使用 PEP 517 且无法直接安装的 _ 构建轮子 - 简单的解决方案

regex - 如何查找一个单词是否包含模式字符的排列?

php - 如何通过单击国家 map 图像的一部分来进行 PHP MySQL 搜索

java - 在java中实现随机搜索算法

python - 在python脚本中执行mysql命令

python - 从 S3 django 下载多个文件

python - SQLite3 参数格式化问题 - 通过添加另一个值来更新现有值

java - 正则表达式完全匹配字符串

regex - 如何在 Perl 中替换所有 HTML 编码的重音符号?

python - 在列表中查找子列表的起始和结束索引