

Trucchi di vita: semplice ricerca e sostituzione in Google Docs

Google Docs ha aggiunto una nuova funzione che molti stavano aspettando. Per tutti coloro che non hanno idea di cosa siano le espressioni regolari e del perché valga la pena conoscerle: un breve corso intensivo.
In praticamente qualsiasi editor di testo, puoi premere CTRL+H su Windows o ⌘+H su MacOS e poi Trova/Sostituisci. Questo significa che puoi inserire una parola e sostituirla con un'altra.
In poche parole, funziona in questo modo:
- Frase: "Oggi la mia maglietta è blu"
- CTRL+H / ⌘+H
- Cerca: blu
- Sostituisci con: rosso
- OK
- Nuova è la frase "Oggi la mia maglietta è rossa"
Nella maggior parte dei casi, questo metodo funziona a meraviglia ed è stato provato e testato per decenni. Tuttavia, gli utenti con conoscenze più tecniche o i programmatori che hanno bisogno di effettuare mutazioni di testo nei loro programmi conoscono bene le espressioni regolari. Questa funzione è ora supportata da Google Docs.
Espressioni regolari? Cosa sono?
Le espressioni regolari sono astrazioni di testo o di costrutti testuali. Inoltre, sono presenti alcuni cosiddetti modificatori e opzioni per l'analisi del testo. Le espressioni regolari sono estremamente potenti e non solo pratiche per i programmatori. Le espressioni regolari sono di gran lunga la cosa più utile e versatile che ho imparato sui computer negli ultimi tre anni.
Prendiamo una frase un po' più complessa con un po' di formattazione HTML:
Io sto indossando una maglietta rossa a Rotterdam.
Il codice mette in corsivo le parole "rotes" e "Rotterdam". Tuttavia, vogliamo che le due parole siano in grassetto - espresso in HTML con . Con il metodo sopra descritto, funzionerebbe in questo modo:
- CTRL+H / ⌘+H
- Cerca per:
- Ricerca con:
- Sostituisci con:
- OK
- CTRL+H / ⌘+H
- Cerca per:
- Sostituisci con: </strong>
- OK
Troppo sforzo. Con le espressioni regolari è più facile:
- Cerca per: (.+?)
- Sostituisci con: $1
Momento... cos'è stato?
Quello che ho fatto nell'esempio precedente è spiegato semplicemente:
- Ho passato un segnaposto alla ricerca con (.+?)
- Questo segnaposto veniva ignorato dalla ricerca e tutto ciò che lo circondava veniva sostituito
- Ma per non perdere il testo importante per il segnaposto, l'ho inserito con $1 nel punto che preferisco
Gli strani simboli possono essere spiegati come segue:
- (.+?) è un'espressione regolare
- La parentesi **()**definisce un'area del testo che la funzione di ricerca deve ricordare.
- La controparte di () nel campo replace è $1. Il contenuto delle parentesi viene inserito qui. Se ci sono due parentesi nel campo di ricerca, viene utilizzato $2.
- Il punto, cioè . sta per "qualsiasi carattere", cioè una lettera, un numero, uno spazio o un carattere speciale
- Il più, cioè +, sta per "uno o più" del carattere precedente. In gergo tecnico, si chiama "quantificatore". Nel nostro caso, significa "uno o più caratteri qualsiasi"
- Anche il punto interrogativo, cioè ?, è un quantificatore. Indica all'Espressione Regolare di essere pigra. Indica alla ricerca di includere il minor numero possibile di caratteri nel risultato della ricerca.
Il risultato:
Io sto indossando una maglietta rossa a Rotterdam.
Se non avessimo incluso il quantificatore del punto di domanda nell'espressione regolare, il risultato sarebbe stato il seguente:
Io indosso una maglietta rossa</em> a Rotterdam.
Le espressioni regolari possono fare infinitamente di più. Ma spiegarlo sarebbe presuntuoso e andrebbe oltre lo scopo di una breve notizia su "Google Docs può fare questo ora". Solo alcuni esempi:
- .?@.+?&..+? - cerca tutti gli indirizzi e-mail in un testo, ma non li ricorda come segnaposto perché mancano le parentesi. La barra rovesciata, ovvero \code(0144)}, è un cosiddetto "carattere di escape", che indica alla ricerca di non considerare il carattere seguente come parte dell'espressione regolare, ma di cercare esattamente come è scritto.
- rot|er\b|en\b|em\b|es\b - cerca le parole rot, roter, roten, rotem e rotes. La linea verticale, cioè |, sta per "o". b sta per "confine di parola", come uno spazio, una virgola, un punto fermo o altro.
- Qualcosa di più astratto. Hai presente i testi in cui le persone a volte inseriscono due spazi o anche più tra le parole? Cercarli è fastidioso, vero? Prova " {2.500}" senza virgolette e sostituiscilo con " " anch'esso senza virgolette. Questo significa che cerchiamo una serie di spazi, almeno 2, al massimo 500 e li sostituiamo con uno spazio.
Sei curioso? Allora visita RegExr per un riferimento completo e di facile comprensione su tutte le espressioni regolari. Se vuoi fare delle prove con le espressioni regolari senza rovinare il tuo testo, allora Rubular è una buona opzione.
Torna a Google Docs

Da giovedì, Google Docs supporta le espressioni regolari. Google fa così un favore a molte persone che magari scrivono i loro testi in modo più pesante rispetto al codice. In generale, comunque, le espressioni regolari sono qualcosa che dà a tutti gli utenti un grande potere e può rendere la vita molto, molto facile.
Divertiti! E non dimenticare che se sbagli completamente, CTRL+Z o ⌘+Z sono tuoi amici.


Giornalista. Autore. Hacker. Sono un contastorie e mi piace scovare segreti, tabù, limiti e documentare il mondo, scrivendo nero su bianco. Non perché sappia farlo, ma perché non so fare altro.