Hola,
Tengo dos preguntas sobre expresiones regulares.
- A continuación, he mostrado algo de código. Estoy creando columnas de fórmula que analizan información de otra columna. Las fórmulas capturan la información correcta, pero SIEMPRE se detienen en la fila 3024. Los conjuntos de datos con los que trabajo pueden ser decenas o filas, o mucho más grandes.
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!
- En el depurador, cronometrando mi secuencia de comandos, el temporizador indica que la secuencia de comandos se completa en ~ 1 segundo y que estas tres líneas de código ocupan la mayor parte del tiempo. También están sucediendo otras cosas pequeñas.Sin embargo, la mayoría de las veces, JMP se bloquea cuando se ejecuta y tengo que detener la ejecución del script en el depurador o tengo que finalizar la tarea en el administrador de tareas.
He usado expresiones regulares en for() y for each() y tuve problemas similares.Sin embargo, la expresión regular parece for() y for each() más, ya que la fórmula finaliza de forma rutinaria, pero el tiempo que lleva completar la ejecución del script bloquea JMP y lleva mucho tiempo, si es que finaliza.
Esta es una secuencia de comandos de expresiones regulares muy básica. He hecho cosas mucho más complejas en bucles para otros proyectos, con conjuntos de datos mucho más grandes. El conjunto de datos en sí se importó como un CSV, pero esta es la única diferencia que puedo detectar entre este y otros conjuntos de datos.¿Alguna idea de lo que está pasando?