하나의 정규식 패턴을 다른 정규식 패턴으로 바꾸려고합니다.정규식 : 한 패턴을 다른 패턴으로 바꿉니다
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'
그래서, 이것을 달성하는 올바른 방법 것입니다.
당신은 서로 정규식을 교체하지 않을 : 다음, 'st_mkv'에서 문자열을 대체 취득 'st_srt'에서 사용되는, 일을하려고 재 regex, regex를 사용하여 문자열을 다른 문자열로 바꿉니다. 매우 중요한 차이. 날 믿어, 정규 표현식을 사용하여 * 다른 * 정규 표현식을 사용하면 불필요한 악몽이다. –
@ JustinMorgan : 귀하의 의견을 주셔서 감사하지만 올바른 방법은 하나의 정규식을 다른 것으로 바꾸거나 정규식 기반 솔루션을 사용하여 원하는 출력을 얻는 것입니다. – RanRag
당신이 말하는 것은 검색 문자열에 그룹을 캡처하고 그룹을 교체 문자열에 사용하려는 것입니다. – alan