Ho problemi a capire come utilizzare Text Explorer per la seguente situazione:
- Narrazioni dei pazienti in un set di dati. La narrazione descrive gli eventi avversi vissuti da un paziente, insieme a farmaci, ecc. Ciascuna narrativa può contenere fino a 20.000 caratteri e possono esserci fino a 1000 narrazioni.
- Circa 2400 espressioni regolari in un altro set di dati. Le espressioni regolari sono alla ricerca di una condizione particolare
Devo cercare tutte le narrazioni usando tutte le espressioni regolari. Abbiamo una soluzione in Excel + VBA ma mi piacerebbe implementare qualcosa in JMP, possibilmente usando Text Explorer. Ho giocato con un piccolo set di espressioni regolari usando Text Explorer e Customize Regex, ma la visualizzazione risultante è stata deludente.

Idealmente quello che mi piacerebbe è una colonna accanto alla colonna FULL NARRATIVE con le espressioni regolari trovate evidenziate.
La nostra soluzione VBA è abbastanza veloce; Ho provato a usare JSL + per loop e regex per cercare un piccolo set di narrazioni (23) per tutte le espressioni regolari, ed è stato molto lento.
Ecco il codice per una ricerca di esploratore di testo con 5 espressioni regolari:
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" )}
)
)
);
Grazie per eventuali suggerimenti su modi migliori per utilizzare Text Explorer e / o accelerare la ricerca di regex.