我想用另一個正則表達式模式替換一個正則表達式模式。正則表達式:用另一個替換一個模式
st_srt = 'Awake.01x02.iNTERNAL.WEBRiP.XViD-GeT.srt'
st_mkv = 'Awake.S01E02.iNTERNAL.WEBRiP.XViD-GeT.mkv'
pattern = re.compile('\d+x\d+') # for st_srt
re.sub(pattern, 'S\1E\2',st_srt)
我知道使用S\1E\2
這裏是錯誤的。我使用\1 and \2
的原因是爲了獲得值01 and 02
並在S\1E\2
中使用它。
我所需的輸出是:
st_srt = 'Awake.S01E02.iNTERNAL.WEBRiP.XViD-GeT.srt'
那麼,什麼是實現這一目標的正確方法。
你不能用另一個替換正則表達式正則表達式,你正在使用正則表達式來替換另一個字符串的字符串。非常重要的區別。相信我,使用正則表達式來處理* other * regexes是你不需要的噩夢。 – 2012-03-30 21:22:44
@JustinMorgan:感謝您的輸入,但比用正則表達式替換另一個正則表達式還是使用基於正則表達式的解決方案來實現我所需的輸出更爲正確。 – RanRag 2012-03-30 21:24:50
我認爲你的意思是你想在你的搜索字符串中捕獲一個組,並在替換字符串中使用該組。 – alan 2012-03-30 21:26:43