Tengo problemas para descubrir cómo usar Text Explorer para la siguiente situación:
- Narrativas de pacientes en un conjunto de datos. La narrativa describe los eventos adversos que experimentó un paciente, junto con medicamentos, etc. Cada narrativa podría tener hasta 20,000 caracteres de longitud, y podría haber hasta 1000 narrativas.
- Alrededor de 2400 expresiones regulares en otro conjunto de datos. Las expresiones regulares buscan una condición particular
Necesito buscar todas las narrativas usando todas las expresiones regulares. Tenemos una solución en Excel + VBA pero me gustaría implementar algo en JMP, posiblemente usando Text Explorer. Jugué con un pequeño conjunto de expresiones regulares usando Text Explorer y Customize Regex, pero la visualización resultante fue decepcionante.

Idealmente, lo que me gustaría es una columna al lado de la columna NARRATIVA COMPLETA con las expresiones regulares encontradas resaltadas.
Nuestra solución VBA es bastante rápida; Intenté usar JSL + para bucles y expresiones regulares para buscar un pequeño conjunto de narrativas (23) para todas las expresiones regulares, y fue muy lento.
Aquí está el código para una búsqueda del explorador de texto con 5 expresiones regulares:
Text Explorer(
Text Columns( :FULL NARRATIVE ),
Set Regex(
Custom(
Title( "R1" ),
Example( "x" ),
Regex( "\[\bexperienc[^.]*\b(\w{4,})\b.*\bexperienc[^.]*\1\b]\" ),
Result( "\[\0]\" ),
Comment( "x" ),
Locale( "" ),
ColorStyle( 10 )
),
Custom(
Title( "R2" ),
Example( "x" ),
Regex( "\[\bexperienc[^.]*\.?[^.]*again[^.]*\.?[^.]*second[^.]*\.]\" ),
Result( "\[\0]\" ),
Comment( "x" ),
Locale( "" ),
ColorStyle( 9 )
),
Custom(
Title( "R3" ),
Example( "x" ),
Regex( "\[\bexperienc.*experienc[^.]*second[^.]*infusion[^.]*\.]\" ),
Result( "\[\0]\" ),
Comment( "x" ),
Locale( "" ),
ColorStyle( 8 )
),
Custom(
Title( "R4" ),
Example( "x" ),
Regex(
"\[\bexperienc[a-z]{0,3}\W+(\w+\W+){0,25}resolv[a-z]{0,3}\W+(\w+\W+){0,25}receiv[a-z]{0,3}\W+(\w+\W+){0,25}experienc[^.]*\.]\"
),
Result( "\[\0]\" ),
Comment( "x" ),
Locale( "" ),
ColorStyle( 7 )
),
Custom(
Title( "R5" ),
Example( "x" ),
Regex( "\[\bexperienc[^.]*again[^.]*\.]\" ),
Result( "\[\0]\" ),
Comment( "x" ),
Locale( "" ),
ColorStyle( 6 )
)
),
Layout( "Ordered" ),
Customize Regex( 0 ),
Language( "English" ),
SendToReport(
Dispatch(
{"Term and Phrase Lists"},
"",
TableBox,
{Set Summary Behavior( "Collapse" )}
)
)
);
Gracias por cualquier sugerencia sobre mejores formas de usar Text Explorer y / o acelerar la búsqueda de expresiones regulares.