2017-07-24 10 views
0

Der folgende Code großeRegex findAll Mit Mismatch Verwendung von Variablen

sequence = 'TATTGCTGATCAGTGGCCTAGCTAAAGTA' 
m = regex.findall('(CCTC){s<=1}', sequence) 

Allerdings funktioniert, muss ich es so ändern, dass ich für eine Variable statt BKT bin auf der Suche. So etwas wie

sequence = 'TATTGCTGATCAGTGGCCTAGCTAAAGTA' 
m = regex.findall('(myvar){s<=1}', sequence) 

Ich habe folgendes versucht, aber es scheint nur zurück perfekten Treffer

myvar = 'CCTC' + '{s<=3}' 
sequence = 'TATTGCTGATCAGTGGCCTAGCTAAAGTA' 
m = regex.findall(myvar, sequence) 

Wie verwende ich eine Variable mit regex während Mismatches erlaubt?

+0

Beide oben und unten Schnipsel genau die gleiche Sache zu mir zurückkehren, auch beim Wechsel '{s <= 3}' auf '{s <= 1}'. – DeepSpace

+0

'myvar = 'CCTC' + '{s <= 3}'': runde Klammern fehlen. –

Antwort

3

Versuchen mit:

dynamic_param = "CCTC" 
m = regex.findall(r"(" + dynamic_param+ "){s<=1}", sequence)