내가 뭘 하려는지 변수 (변수의 내용)와 파이썬 정규식을 사용하여 문자열을 대체하는 것입니다. 일치하는 표현식을 유지해야하기 때문에 \1
및 \3
그룹 일치 인수를 사용합니다.변수를 사용하여 표현식을 파이썬 정규 표현식
내 정규식/서브는 다음과 같습니다 일어나고있는 것으로 보인다 무엇
pattern = "\1" + id + "\3" \b
out = re.sub(r'(;11=)(\w+)(;)',r'%s' % pattern, line)
이 \1
하고 \3
출력에 추가되지 않습니다.
또한 대체 표현식이 시도했다 :
r'\1%s\3'%orderid
하지만 비슷한 결과를 얻었다. 문제를 해결할 수있는 방법에 대한 제안 사항이 있으십니까?
왜 '\ 1'과'\ 3'에 일치 항목을 저장해야합니까? 그것들은 항상 같은 값을 가지고 있습니다. 're.sub (r '(; 11 =) (\ w +) (;)', "; 11 ="+ id + ";"행)', 11 = \ + +; '; "; 11 ="+ id + ";", 줄)'(어쨌든'\ w +'를 사용하는 것 같지 않습니다. – Jerry
나는 다른 사람을 시험해 보았습니다. 그러나 이것은 결국 나를 위해 일한 것입니다. Jerry에게 감사드립니다. 나는 그것을 보지 못했다고 나는 믿을 수 없다. – Pradyot