Hallo!
Ich habe z.B. folgendes Script und möchte EINEN Regulären Ausdruck einsetzen, der mir jede einzelne SQL Anweisung findet:
select * from Nasenbaer;
select *
from Nasenbaer
where nase=„rot“ or
fell=";;;schwarz;;;;";
desc nasenbaer;
Ich möchte, dass immer eine GESAMTE Anweisung in einen String kopiert wird. Also suche ich alle Zeichenketten, id mit einem:
;\n
enden. Vorrausetzung jedoch ist, dass kein geöffnetes Hochkomma oder einfaches Hochkomma gesetzt ist - da innerhalb von Texten ein Semikolon mit einem Zeilenumbrauch vorkommen darf. Ich möchte am liebsten den gesammten Text in einer Expression untersuchen können. Leerzeilen sollen nicht beachtet werden.
Es soll dann folgendes herauskommen:
3 einzelne Strings in der Form:
select * from Nasenbaer;
select * from Nasenbaer where nase=„rot“ or fell=";;;schwarz;;;;";
desc nasenbaer;
Ich löse das Problem zur Zeit mit 2 RegExp und einigem Quellcode. Es MUSS aber auch effektiver gehen …
Als Hinweis: Eine nicht geschlossene " oder ’ darf nicht zum Aufhänger werden. (Passierte mir)
Chris