Vai al contenuto

Filtri categorie e Regex

Nel caso i filtri categorie dovessero diventare molto complessi, è anche possibile utilizzare le espressioni regolari.

Per i partner

L’eseguibile EsportaCatalogo deve essere almeno aggiornato a luglio 2020

Prendiamo ad esempio degli articoli appartenenti a queste categorie:

CategoriaCategoria2
CiotoleRosso
CiotoleRosso
CiotoleBlu
CiotoleNero
ContenitoriRosso
ContenitoriBlu
OliereRosso
ContenitoriBlu

Se usassimo questo esempio di filtri, il filtro “Categoria 2 includi” con valore “Rosso” varrebbe anche per i contenitori, ed escluderebbe i Contenitori Blu che vogliamo invece includere.

Possiamo invece usare un’espressione regolare (Regex) riconosciuta dal programma in quanto deve iniziare con il simbolo “^” (inizio stringa).

Rispetto alla semplice lista di inclusione/esclusione, la Regex opera su TUTTE le categorie accodate insieme con il punto e virgola, quindi il livello dove inserirla è ininfluente (quindi una Regex di esclusione può trovarsi dovunque fra Categoria 1 Escludi e Categoria 5 Escludi.

La stringa che viene confrontata con l’espressione regolare è quindi “Ciotole;Rosso” e possiamo escludere questo tipo di risultato con una Regex così composta:

^Ciotole;(?!Rosse)

Questo esempio include (con il metodo standard quindi elencandole separate da punto e virgola) le categorie Ciotole e Contenitori per intero, poi con l’esclusione Regex (che inizia col simbolo “^”) esclude tutte le Ciotole che NON hanno Rosso al secondo livello.

Attenzione: nella sintassi delle espressioni regolari alcuni caratteri vanno trattati in modo particolare:

.^$*+?()[{|

Quindi se i nomi delle categorie includono uno o più di questi simboli occorre anticiparli con la barra “\”