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

Perl: regexp escape \'



Ciao a tutti,

è ufficialmente indetto l'ennesimo concorso "Trova l'espressione
regolare più breve ed elegante e vinci... una birra quando passi
dalle mie parti!" :)

Vorrei trasformare una riga simile a questa:

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

in:

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).

Ho provato con:

s/\\'/''/g;

ma purtroppo agisce anche su 'ciao\' trasformandolo in 'ciao'''.

A complicare la cosa ci sono stringhe relative a diverse tabelle
del database e quindi l'elenco di stringhe e numeri racchiuse
dalle parentesi tonde cambia...
	
Grazie e a presto,

Giuseppe


P.S.: Tutto questo fa parte di uno script per convertire il dump
di un database MySQL in modo da farlo digerire a sqlite3 quindi,
se qualcuno ha già qualche soluzione pronta, ben venga...


--
 _      Giuseppe Bordoni   .oOo.   http://www.geppozone.com       ( _)
(o)>  -------------------------------------------------------  \\\'',)
//\   Al mondo esistono 10 tipi di persone: quelle che           \/  \ ^
V_/_  conoscono la notazione binaria e quelle che la ignorano    _\'_/_)



Reply to: