comstackr una expresión regular difusa con expresiones regulares de python

Cuando descubrí que el módulo de expresión regular de python permite una coincidencia aproximada, me sentí cada vez más feliz, ya que parecía una solución simple para muchos de mis problemas. Pero ahora tengo un problema por el cual no encontré ninguna respuesta en la documentación.

¿Cómo podría comstackr cadenas en expresiones regulares utilizando también la nueva función de valor de fuzziness?

Para ilustrar mis necesidades habituales y dar a una muestra un pequeño trozo de código

import regex f = open('liner.fa', 'r') nosZ2f='TTCCGACTACCAAGGCAAATACTGCTTCTCGAC' nosZ2r='AGGTCACATCAACGTCAACG' #nini=regex.compile(nosZ2r{e<=3}) nimekiri=list(f) pikkus=len(nimekiri) count = 0 while (count < pikkus): line = nimekiri[count].rstrip('\n') m=regex.findall("(TTCCGACTACCAAGGCAAATACTGCTTCTCGAC){e<=3}", line) n=regex.findall("AGGTCACATCAACGTCAACG{e<=3}", line) if bool(m) & bool(n): print nimekiri[count-1].rstrip('\n') print line count = count + 1 f.close() 

Como puede ver, las expresiones regulares con borrosidad de 3 errores funcionan bien. Pero me vi obligado a ingresar la cadena completa (nosZ2f / r) manualmente en el buscador. No pude comstackr una expresión regular con valores de error / borrosidad.

¿Cuál sería la syntax correcta de convertir una cadena (línea nosZ2f / r) a un patrón de expresión regular con un valor borroso de 3 errores? (bash fallido visto en la línea comentada)

La posibilidad de usar cadenas de entrada como fuente para expresiones regulares sería crítica para cualquier script realmente útil que tenga en mente. (no hay mucha automatización de lo contrario) Así que me encantaría si pudiera frex. reemplazar

 m=regex.findall("(TTCCGACTACCAAGGCAAATACTGCTTCTCGAC){e<=3}", line) 

con

 m=regex.findall(nini, line) etc. 

O

 m=regex.findall("string{e<=3}", line) 

Necesitas poner tus cuerdas juntas correctamente.

 import regex testString = 'some phrase' r = regex.compile('('+testString+'){e<=5}') r.match('phrase') 

Si desea crear un patrón de expresiones regulares, tendrá que usar varias técnicas de manipulación de cadenas para crear el patrón apropiado para usar.