작은 따옴표로 묶지 않으면 문자열을 바꾸기 위해 정규 표현식을 작성하려고합니다. 예를 들어 나는 다음과 같은 문자열에 XXX에 FOO를 교체하려면 :작은 따옴표로 묶지 않으면 문자열을 바꿀 Python 정규식
이string = "' FOO ' abc 123 ' def FOO ghi 345 ' FOO '' FOO ' lmno 678 FOO '"
원하는 출력은 다음과 같습니다
output = "' FOO ' abc 123 ' def FOO ghi 345 ' XXX '' XXX ' lmno 678 FOO '"
나의 현재 정규식은 다음과 같습니다
myregex = re.compile("(?<!')+(FOO)(?!')+", re.IGNORECASE)
나는 생각 둘러보기 연산자를 사용하는 방법을 모르지만 정규식이 너무 복잡합니다. D
도와 주실 수 있습니까?
예를 들어 잘못 생각한 것 같습니다. 첫 번째 "abc 123"이 XXX로 대체되지 않는 이유는 무엇입니까? –
예제가 나에게 맞는 것처럼 보이지만 첫 번째 FOO는 작은 따옴표로 묶여 건너 뜁니다. – daveoncode
첫 번째 FOO에서 동의합니다. 그러나 abc를 시작하는 비트가/외부 /라는 것을 의미하지는 않습니다. 그렇다면 결과는 다음과 같아야합니다. " ''FOO 'XXX'FOO GHI 345 'XXX' 'XXX'lmno 678 FOO '". 옳은? –