Regex: velocità di calcolo ed esecuzione di formule incompleteCiao,
Ho due domande sulle espressioni regolari.
- Below I've shown some code. I'm creating formula columns that parse information from another column. The formulas grab the correct information, but ALWAYS stop at row 3024. The datasets I work with can be tens or rows, or much larger.
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!
- Nel debugger, cronometrando il mio script, il timer afferma che lo script è completo in circa 1 secondo e che queste tre righe di codice occupano la maggior parte del tempo. Ci sono anche altre piccole cose che succedono. Tuttavia, il più delle volte, JMP si blocca durante l'esecuzione e devo interrompere l'esecuzione dello script nel debugger o terminare l'attività nel task manager.
Ho usato regex in un for() e for each() e ho avuto problemi simili. Tuttavia, regex sembra più for() e for each(), poiché la formula terminava di routine, ma il tempo impiegato per completare l'esecuzione dello script blocca JMP e impiega molto tempo, se finisce.
Questo è uno scripting regex molto basilare. Ho fatto cose molto più complesse in cicli for per altri progetti, con dataset molto più grandi. Il dataset stesso è stato importato come CSV, ma questa è l'unica differenza che riesco a individuare tra esso e altri dataset. Avete qualche idea su cosa sta succedendo?
Accesso ai datiFinestreRe: Regex: velocità di calcolo ed esecuzione di formule incompleteNon ho idea di cosa stia succedendo, ma se non hai bisogno delle formule puoi provare a usare << Imposta ogni valore.
Re: Regex: velocità di calcolo ed esecuzione di formule incompleteImmagino che il modello includa operazioni a stella o più, nidificate in un modo che richiede molto tempo per determinati dati e la riga 3024 ha quel modello di dati.Re: Regex: velocità di calcolo ed esecuzione di formule incompleteSfortunatamente, il motivo per cui sto usando regex è perché la posizione e il valore del num() di interesse cambia all'interno della stringa cercata, ma la sua formattazione rimane la stessa. Se sposto la funzione regex su una riga diversa e passo il numero (stringa) recuperato per impostare ciascun valore (num()) dopo la creazione della riga per popolare la riga, la funzione regex() ha ancora lo stesso problema.
Re: Regex: velocità di calcolo ed esecuzione di formule incompleteOh mio Dio, è imbarazzante... Ho dato un'occhiata al mio pattern regex e ho iniziato a confrontarlo con le stringhe alla riga 3024 e intorno a essa.Penso che il nostro database abbia bisogno di una messa a punto; la stringa non ha corrispondenze per il pattern regex in molte di queste righe.Accidenti!
Grazie per avermi portato a fare questo, @Craige_Hales !