Categories: HardwareSoftware

Regular expression o espressioni regolari: cosa sono e come utilizzarle

Author: IlSoftware.it

Quante volte vi è capitato di dover effettuare delle modifiche su un documento, un file di testo o un foglio elettronico non riuscendo a trovare la via migliore per intervenire in blocco su un gran numero di informazioni?
Come fare, per esempio, a eliminare quanto appare su ogni riga dopo un certo carattere oppure a sostituire in blocco diverse varianti di occorrenze nel testo?

Cosa sono le regular expression o espressioni regolari e come si usano

Le regular expression o espressioni regolari in italiano sono stringhe composte anche da sequenze di simboli che permettono di individuare un insieme di stringhe.La sintassi non è universale: programmi diversi usano approcci sintattici differenti ma l’approccio è comunque sempre lo stesso.
I programmi del pacchetto Office, LibreOffice e gli editor di testo come Notepad++ supportano tutti le regular expression accedendo alle funzioni Trova o Sostituisci.

Un’espressione regolare definisce una funzione che prendendo in ingresso una stringa restituisce in uscita un valore del tipo sì/no a seconda che la stringa segua o meno lo schema o pattern indicato.
Ecco perché le regular expression si utilizzano con i comandi Trova e Sostituisci: se una o più stringhe contenute nel file rispettano lo schema indicato nell’espressione regolare, la sequenza di caratteri viene evidenziata oppure sostituita con quella specificata dall’utente.

I simboli seguenti sono certamente interessanti per iniziare a creare le proprie regular expression:

. = qualunque carattere
\. = carattere “punto”
.? = corrispondenza con qualunque carattere, zero o una volta
.* = corrispondenza con qualunque carattere, zero o più volte
.+ = corrispondenza con qualunque carattere, una o più volteCercando, per esempio, R.ssi, l’editor di testo restituirà sia le occorrenze di Rossi che quelle di Russi.

L’importante, quando si effettua una ricerca o una sostituzione con una regular expression, è attivare l’apposita casella che consente di informare il programma che quella richiesta non è una ricerca normale.

Rilevanti anche i seguenti simboli:

^ = Trova il termine cercato solo se appare all’inizio di un paragrafo
^. = Individua il primo carattere di ogni paragrafo o riga
$ = Trova il termine cercato solo se appare alla fine di un paragrafo
^$ = Individua una riga vuota
| = Trova i termini che compaiono sia prima che dopo il simbolo |. Ad esempio, cercando con il criterio questo|quello, vengono individuate nel testo sia le occorrenze di “questo” che di “quello”. Si ottiene di fatto un “OR”.
{2} = Definisce il numero di ripetizioni del carattere che precede la parentesi graffa aperta. Ad esempio, “mol{2}e” trova e seleziona “molle”.
{1,2} = Definisce il numero minimo e massimo di volte di ripetizioni del carattere che precede la parentesi graffa aperta. Ad esempio, “mol{1,2}e” trova e seleziona “mole” e “molle”.
{1,} = Definisce il numero minimo di volte che il carattere che precede la parentesi graffa aperta può ripetersi. Ad esempio, “mol{2}e” trova “molle”, “mollle” e “mollllle”.

Si supponga di voler trasformare il seguente elenco:

Mario Bianchi
Mauro Verdi
Giuseppe Neri
Flavio Marroni
Franco Violi

in questo:

Bianchi, Mario
Verdi, Mauro
Neri, Giuseppe
Marroni, Flavio
Violi, Franco

L’obiettivo è cioè quello di effettuare la trasposizione di nomi e cognomi in un elenco in cui figurino prima i cognomi e poi i nomi, separati da virgole.

La sintassi da usare nel campo per la ricerca è la seguente: ^([a-z]+) ([a-z]+)

Il primo carattere della regular expression consente, come visto in precedenza, di selezionare i termini che compaiono all’inizio di ciascun paragrafo (riga) mentre quanto tra parentesi tonde indica di selezionare qualunque termine contenente lettere dell’alfabeto.
Al primo termine, in questo caso il nome, sarà assegnato l’identificativo “1” mentre al secondo (seconda parentesi tonda), l’identificativo “2”.

Nel campo Sostituisci con è quindi possibile inserire , per avere, in ogni riga, prima il cognome e poi il nome, opportunamente separati da una virgola.

Eliminare tutto quanto compare dopo una certa stringa, su ogni riga

Per rimuovere qualsiasi stringa di caratteri che comparisse dopo un certo carattere o un insieme di essi, è possibile digitare quanto segue nel campo Trova:

(.+\.JPG).*

Mentre nella casella Sostituisci con si dovrà digitare:

$ 1

A questo indirizzo si possono trovare diversi esempi di utilizzo delle regular expression nel caso di Office mentre qui una guida per LibreOffice, utilizzabile anche nel caso degli editor di testo migliori come Notepad++.

admin

Recent Posts

Così Renault punta ad abbassare il prezzo delle sue auto elettriche

Author: Tom's Hardware Le batterie a litio-ferro-fosfato (LFP) rappresentano una soluzione efficace per automobili di…

4 Luglio 2024

Xbox: dipendente licenziata mentre era in vacanza, nuovo round di tagli in arrivo?

Author: GAMEmag Prosegue la serie di licenziamenti che hanno contraddistinto il 2024 come l'anno peggiore…

4 Luglio 2024

Moshi, l’intelligenza artificiale adesso esprime emozioni: come provarla

Author: IlSoftware Kyutai è il primo laboratorio di ricerca indipendente sull’intelligenza artificiale in Europa, inaugurato…

4 Luglio 2024

Cohesity + Veritas: la sicurezza informatica potenziata dall’IA

Author: Hardware Upgrade Il pericolo principale del mondo informatico? Secondo Cohesity è il ransomware, che…

4 Luglio 2024

Vor Formel-1-Rennen: Brad Pitt dreht in Silverstone für Rennfahrerfilm

Author: klatsch-tratsch Brad Pitt war am Donnerstag der Star von Silverstone. (jom/spot)Imago Images/PanoramiC / Imago…

4 Luglio 2024

Prova de águas abertas atraiu várias caras conhecidas na Baía de Cascais – Stars Online

Author: Stars Online A Travessia Global Ocean Cascais 2024 decorreu na Baía de Cascais, atraindo…

4 Luglio 2024