Hallo Ich arbeite daran, den Unterschied zwischen dem Kerncode zu finden, den meine Firma produziert hat, als Produkt und Code, den unsere Kundendatenbank enthält. Ich mache das mit Beyond Compare. Irgendwann hat unser Client eine andere IDE verwendet, um Code zu betrachten und neu zu kompilieren. Das Problem besteht darin, dass der einzige Unterschied darin besteht, dass die Anweisung create oder replace an Oracle gesendet wird.Schreiben eines regulären Ausdrucks, um SQL-Dateinamen aus verschiedenen Compilern zu ignorieren
So Quelle meines Unternehmens wie folgt aussieht:
erstellen oder ersetzen Trigger "SCHEMA" "TRIGGER_TG_1"
.erstellen oder Trigger Trigger_tg_1
Und die Kunden zusammengestellt Quelle aussieht ersetzen
Beide sind für Oracle identisch, werden jedoch als Unterschied in Beyond Compare gekennzeichnet. Wie würde ich einen regulären Ausdruck schreiben, um diese Unterschiede zu ignorieren?
Was meinen Sie mit einem regulären Ausdruck, um Unterschiede zu ignorieren? Ermöglicht es Ihnen, einen regexp replace durchzuführen, um die Eingabe vor dem Vergleich in ein gemeinsames Format zu konvertieren? – Barmar
Was hast du probiert? SO ist kein kostenloser Codierdienst. Sie müssen versuchen, das Problem selbst zu lösen, und wenn Sie es nicht funktionieren, post Ihren Versuch und wir werden versuchen, zu helfen. – Barmar
Beyond Compare ermöglicht es Ihnen, "Grammatik" -Regeln zu erstellen, die Unterschiede ignorieren, die bestimmten Kriterien entsprechen. Diese Regeln, die konfiguriert werden können, können einen regulären Ausdruck für die zu ignorierenden Elemente enthalten. Ich habe versucht, alle Zeilen auszuschließen, die mit create oder replace beginnen und nicht mit case übereinstimmen, aber es markiert immer noch die Zeilen, wenn sie den Schemanamen in Anführungszeichen haben. Ich hatte auf eine Regex-Hilfe gehofft, wusste aber nicht, wo ich anfangen sollte. –