Hallo,
Ich habe zwei Fragen zu Regex.
- Unten habe ich etwas Code gezeigt. Ich erstelle Formelspalten, die Informationen aus einer anderen Spalte analysieren. Die Formeln erfassen die richtigen Informationen, enden jedoch IMMER bei Zeile 3024. Die Datensätze, mit denen ich arbeite, können Zehner oder Zeilen oder viel größer sein.
dt << New column( "Column 1", formula( regex( :Other column, "pattern" ) ) );
dt << New column( "Column 2", formula( regex( :Other column, "pattern", "\1" ) ) );
dt << New column( "Column 3", formula( num( regex( :Other column, "pattern" ) ) ) );<BR /><BR />dt << Rerun Formulas; // Doesn't help!
- Im Debugger gibt der Timer beim Timing meines Skripts an, dass das Skript in ~ 1 Sekunde abgeschlossen ist und dass diese drei Codezeilen den Großteil der Zeit in Anspruch nehmen. Es passieren auch noch andere Kleinigkeiten.Meistens stürzt JMP jedoch ab, wenn es ausgeführt wird, und ich muss entweder die Ausführung des Skripts im Debugger stoppen oder die Aufgabe im Task-Manager beenden.
Ich habe Regex in einem for() und for each() verwendet und hatte ähnliche Probleme.Regex scheint jedoch for() und for each() more zu sein, da die Formel routinemäßig beendet wird, aber die Zeit, die zum Abschließen des Skriptlaufs benötigt wird, blockiert JMP und dauert sehr lange, wenn es überhaupt beendet wird.
Dies ist ein sehr einfaches Regex-Scripting. Ich habe viel komplexere Dinge in for-Schleifen für andere Projekte mit viel größeren Datensätzen gemacht. Der Datensatz selbst wurde als CSV importiert, aber dies ist der einzige Unterschied, den ich zwischen ihm und anderen Datensätzen erkennen kann.Irgendwelche Ideen, was passiert?