사전 이스케이프 된 따옴표를 포함 할 수있는 문자열에서 큰 따옴표를 이스케이프 처리하는 코드가 있습니다. 예컨대 : 루비 1.8.7p374에 다음 코드를 사용하여Ruby가이 패턴의 두 번째 발생을 대체하지 않는 이유는 무엇입니까?
This is a \"string"
: ab""c
=>ab\""c
을 다음 문자열을하려고 할 때
string.gsub!(/([^\\])"/, '\1\"')
그러나, 좀 재미 가장자리의 경우를 얻을. 나는 그것이 양쪽 따옴표를 벗어나기를 기대할 것이다.
큰 문제는 아니지만 궁금합니다.
내 표현이 실수입니까? A gsub
버그/기능?
(최신 루비 버전에서는 음수 룩백을 사용하여 쉽게 해결할 수 있지만이 버전에서는 지원되지 않는 것 같습니다).
문제가 중복되어'([^ \\])'이 방금 교체 한'''과 일치하지 않습니다. –
당신이 가지고있는 것이 명확하지 않습니다. 끝에''' '\ "'로 이스케이프 된 것으로 설명 될 것입니다. 그러나 그 전에'\"는 역 슬래시 문자 뒤에 큰 따옴표 문자가 오는 것을 의미합니다.이 문자는'\\ \ "도망 칠 때. 이것이 정말로 당신이 가지고있는 것입니까? – sawa