Espressioni regolari

Nella tabella di seguito sono elencate le espressioni regolari utilizzabili per creare un dizionario per una lingua personalizzata.

Nota.

  1. Per poter utilizzare un simbolo di espressione regolare come carattere normale, è necessario che sia preceduto da una barra rovesciata. Ad esempio, [t-v]x+ indica tx, txx, txx e così via, ux, uxx e così via, ma \[t-v\]x+ indica [t-v]x, [t-v]xx, [t-v]xxx e così via.
  2. Per raggruppare elementi di espressione regolari, usare le parentesi. Ad esempio, (a|b)+|c indica una lettera "c" o qualsiasi combinazione come abbbaaabbb, ababab e così via (una parola di lunghezza diversa da zero contenente qualsiasi numero di lettere "a" e "b" in qualsiasi ordine), mentre a|b+|c indica a, c, b, bb, bbb e così via.

Esempi

Si sta eseguendo il riconoscimento di una tabella con tre colonne: data di nascita, nome e indirizzo e-mail. In questo caso è possibile creare due nuove lingue, dati e indirizzi, e impostare le seguenti espressioni regolari corrispondenti.

Espressione regolare per le date:

Il numero che indica un giorno può essere composto da una cifra (1, 2 e così via) o da due cifre (02, 12), ma non può essere uguale a zero (00 oppure 0). L'espressione regolare per il giorno dovrà quindi avere la seguente struttura: ((|0)[1-9])|([1|2][0-9])|(30)|(31).

L'espressione regolare per il mese dovrà avere la seguente struttura: ((|0)[1-9])|(10)|(11)|(12).

L'espressione regolare per l'anno dovrà avere la seguente struttura: ([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).

Basta quindi combinare tra loro questi elementi e separare i numeri mediante punti (ad esempio: 1.03.1999). Il punto è un simbolo di espressione regolare, quindi deve essere preceduto da una barra rovesciata (\). L'espressione regolare per la data completa dovrà quindi avere la seguente struttura:

((|0)[1-9])|([1|2][0-9])|(30)|(31)\.((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9])

Espressione regolare per gli indirizzi e-mail:

[a-zA-Z0-9_\-\.]+\@[a-z0-9\.\-]+

1/14/2020 5:26:19 PM


Please leave your feedback about this article