저는 sqlite3 데이터베이스를 mysql로 변환하고 있습니다.데이터베이스 삽입 문에서 따옴표를 바꾸는 Regexp
나는 AUTOINCREMEMT와 필요한 다른 것들을 변경하는 sed 용 좋은 명령 파일을 가지고있다. 그러나 나는 마지막 것에 붙어있다 : 큰 따옴표.
sqlite3를 덤프 형식 : 첫 번째 문에 대한
CREATE TABLE "products" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"name" varchar(255),
"desc" varchar(255));
INSERT INTO "products" VALUES(1,'Flux Capacitor',
'This is the "real" thing.\nPromise!')
, 나는 행복 할 것이다 역 따옴표와 MySQL과 모든 따옴표를 대체 할 수 있습니다.
그러나 내 제품 정보에는 데이터에 큰 따옴표가 있습니다. 어떻게 이들을 대체 할 수 없게 할 수 있습니까? 이중 따옴표 만 자리 표시 자로 바꾸려고했는데 다른 큰 따옴표를 모두 바꿀 수 있었지만 자리 표시자를 다시 바꿀 수는 있었지만 정규식은 동등하지 않습니다. 내가 가진으로
이것은까지였다
/"[^"]*"/s
는 ... 이중 인용 텍스트에 맞게,하지만 난 작은 따옴표 내부에만 따옴표가 일치해야한다는 자격을하는 방법을 알아낼 수 없었다.
당신이 중 하나를 가지고 있지 않은, 또는 다음과 같은 경우 처리 할 수 있는지 확인 : 다음 * 탈출 따옴표가 다른 문자로 작은 따옴표를 모두 교체하는 것이 더 쉬울 수 있습니다 라인 끝 에 걸쳐 * 단일 인용 문자열을, 그들을 다시 변환하십시오. 몇 개의 인스턴스가 있습니까? 가져 오기를 시도하여 오류를 무시한 경우 끝에 오류를 집계 할 수 있습니다. – TheJacobTaylor