正規表現: 計算速度と不完全な式の実行こんにちは、
正規表現について 2 つの質問があります。
- 以下にいくつかのコードを示しました。 別の列からの情報を解析する数式列を作成しています。 数式は正しい情報を取得しますが、常に行 3024 で停止します。 私が扱っているデータセットは、数十行、またはそれ以上になる場合があります。
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!
- デバッガーでスクリプトのタイミングを計ると、タイマーは、スクリプトが約 1 秒で完了すること、およびこれらの 3 行のコードが大部分の時間を占めることを示します。 他にも小さなことが起こっています。しかし、多くの場合、JMP を実行するとロックがかかり、デバッガーでスクリプトの実行を停止するか、タスク マネージャーでタスクを終了する必要があります。
for() と for each() で正規表現を使用しましたが、同様の問題がありました。ただし、正規表現は for() と for each() のように見えますが、式は定期的に終了しますが、スクリプトの実行を完了するのにかかる時間は JMP をロックし、終了したとしても非常に長い時間がかかります。
これは非常に基本的な正規表現スクリプトです。 私は、はるかに大きなデータセットを使用して、他のプロジェクトの for ループではるかに複雑なことを行ってきました。 データセット自体は CSV としてインポートされましたが、これが他のデータセットとの唯一の違いです。何が起こっているかについてのアイデアはありますか?
スクリプティングウィンドウズ