2017-07-24 59 views
0

下面的代碼的偉大工程正則表達式的FindAll有了不匹配使用變量

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

不過,我需要改變它,這樣我在尋找一個變量,而不是CCTC。因此,像

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

我曾嘗試以下,但它似乎只返回完美匹配

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

如何使用一個變量的正則表達式,同時允許不匹配?

+0

頂部和底部片段返回完全相同的事情對我來說,改變甚至當'{S <= 3}''到{S <= 1}'。 – DeepSpace

+0

'myvar ='CCTC'+'{s <= 3}'':圓括號丟失。 –

回答

3

嘗試使用:

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