[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl: regexp escape \'



Geppo ha scritto:

Vorrei trasformare una riga simile a questa:

INSERT INTO "tabella" VALUES (123,'L\'Aquila','ciao\','\\');

quando usi una insert into elenca sempre i campi, ti eviteranno problemi

insert into( campo1, campo2, campo3 )
 values( 123, 'L\'Aquila', 'ciao\','\\' );
                           ^       ^  ^

però questa espressione è errata perché ci sono 3 apici

forse volevi scrivere?

insert into( campo1, campo2, campo3, campo4 )
 values( 123, 'L\'Aquila', 'ciao','\\' );

o

insert into( campo1, campo2, campo3, campo4 )
 values( 123, 'L\'Aquila', 'ciao\'','\\' );


INSERT INTO "tabella" VALUES (123,'L''Aquila','ciao\','\\');

Ovvero sostituire \' con '' solo quando questi caratteri sono
all'interno di una stringa (purtroppo delimitata da apici).

$ cat FILEINPUT | sed "s/[\\]\{2\}/MIASTRINGA/g" | sed "s/\\\'/\'\'/g" | sed "s/MIASTRINGA/\\\\\\\\/g"

Nota: MIASTRINGA non deve essere già presente in FILEINPUT, altrimenti sostituiscila con qualcosa d'altro che non c'è in tale file

Ciao
Davide

--
Dizionari: http://sourceforge.net/projects/linguistico
Conoscere il TC: http://www.no1984.org
Strumenti per l'ufficio: http://it.openoffice.org
Sistema operativo: http://www.it.debian.org
Browser: http://www.mozilla.org/products/firefox
Client di posta: http://www.mozilla.org/products/thunderbird
Linux User: 302090: http://counter.li.org
--
Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa
outlook: non voglio essere invaso da spam



Reply to: