Uso delle espressioni regolari

GOFR esegue la corrispondenza dei criteri in 2 modi diversi: con i caratteri jolly (gli stessi usati da Microsoft Office) oppure con le espressioni regolari.

I caratteri jolly sono più semplici ma meno potenti; si consiglia di usare le espressioni regolari. Internamente GOFR converte i caratteri jolly in espressioni regolari.

Per usare le espressioni regolari in GOFR, nella pagina di immissione di più parametri fare clic sul menu Opzioni (OPZ) accanto alla casella del testo da trovare o del testo sostitutivo e selezionare “Espressioni regolari”. Il colore della casella di input del testo diventerà verde.

È possibile usare le espressioni regolari per trasformare il risultato in base al criterio di ricerca. Ad esempio, è possibile trasformare un criterio del tipo <Nome> <Cognome> in <Cognome> <Nome>, correggere la formattazione dei numeri e così via. Vale sicuramente la pena di consultare il collegamento riportato di seguito.

È disponibile anche un file della Guida sulla trasformazione: "Trasformare il testo con caratteri jolly ed espressioni regolari"

Online sono disponibili molte risorse per comprendere le espressioni regolari. GOFR usa le espressioni regolari di .NET. La pagina di Microsoft è molto completa:

https://learn.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference

Ecco una tabella con le nozioni di base per iniziare:

Metacarattere Comportamento Esempio
* Trova il carattere o la sottoespressione precedente zero o più volte.
Equivale a {0,}.
zo* trova "z" e "zoo".
+ Trova il carattere o la sottoespressione precedente una o più volte.
Equivale a {1,}.
zo+ trova "zo" e "zoo", ma non "z".
? Trova il carattere o la sottoespressione precedente zero o una volta.
Equivale a {0,1}.
Quando ? segue immediatamente un altro quantificatore (*, +, ?, {n}, {n,} o {n,m}), il criterio di ricerca non è greedy. Un criterio non greedy trova la porzione più piccola possibile della stringa cercata. Il criterio greedy predefinito trova la porzione più grande possibile della stringa cercata.
zo? trova "z" e "zo", ma non "zoo".
o+? trova una singola "o" in "oooo", mentre o+ trova tutte le "o".
do(es)? trova "do" in "do" o "does".
^ Trova la posizione all'inizio della stringa cercata. Se l'opzione multilinea (?m) è posta all'inizio del criterio, ^ trova anche la posizione che segue \n.
Se usato come primo carattere in un'espressione tra parentesi quadre, ^ nega l'insieme di caratteri.
^\d{3} trova 3 cifre numeriche all'inizio della stringa cercata.
[^abc] trova qualsiasi carattere tranne a, b e c.
$ Trova la posizione alla fine della stringa cercata. Se l'opzione multilinea (?m) è posta all'inizio del criterio, $ trova anche la posizione che precede \n. \d{3}$ trova 3 cifre numeriche alla fine della stringa cercata.
. Trova qualsiasi carattere singolo tranne il carattere di nuova riga \n. Per trovare qualsiasi carattere, compreso \n, usare un criterio come [\s\S]. a.c trova "abc", "a1c" e "a-c".
[] Indica l'inizio e la fine di un'espressione tra parentesi quadre. [1-4] trova "1", "2", "3" o "4". [^aAeEiIoOuU] trova qualsiasi carattere che non sia una vocale.
{} Indica l'inizio e la fine di un'espressione quantificatore. a{2,3} trova "aa" e "aaa".
() Indica l'inizio e la fine di una sottoespressione. Le sottoespressioni possono essere salvate per un uso successivo. A(\d) trova da "A0" ad "A9". La cifra viene salvata per un uso successivo ($1 nel testo sostitutivo).
| Indica una scelta tra due o più elementi. z|food trova "z" o "food". (z|f)ood trova "zood" o "food".
\ Indica che il carattere successivo è un carattere speciale, un carattere letterale, un riferimento inverso o un'escape ottale. \n trova un carattere di nuova riga. \( trova "(". \\ trova "\".