11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 19. Espressioni Regolari<br />

. . . the intellectual activity associated<br />

with software development is largely<br />

one of gaining insight.<br />

Stowe Boyd<br />

Per sfruttare pienamente la potenza dello <strong>scripting</strong> <strong>di</strong> shell, occorre conoscere a fondo le Espressioni<br />

Regolari. Alcune utility e coman<strong>di</strong> comunemente impiegati negli script, come grep, expr, sed e awk,<br />

interpretano ed usano le ER.<br />

19.1. Una breve introduzione alle Espressioni Regolari<br />

Un’espressione è una stringa <strong>di</strong> caratteri. Quei caratteri la cui interpretazione va al <strong>di</strong> là del loro<br />

significato letterale vengono chiamati metacaratteri. Le virgolette, ad esempio, possono in<strong>di</strong>care la frase<br />

<strong>di</strong> una persona in un <strong>di</strong>alogo, idem o il meta-significato dei simboli che seguono. Le Espressioni Regolari<br />

sono serie <strong>di</strong> caratteri e/o metacaratteri che verificano (o specificano) dei modelli.<br />

Un’Espressione Regolare è formata da:<br />

• Una sequenza <strong>di</strong> caratteri. Sequenza da interpretare nel suo significato letterale. Il tipo più semplice <strong>di</strong><br />

Espressione Regolare consiste solo <strong>di</strong> una serie <strong>di</strong> caratteri senza alcun metacarattere.<br />

• Àncore. In<strong>di</strong>cano (àncorano) la posizione, nella riga <strong>di</strong> testo, che l’ER deve verificare. Ad esempio, ^ e<br />

$ sono àncore.<br />

• Mo<strong>di</strong>ficatori. Espandono o restringono (mo<strong>di</strong>ficano) la <strong>di</strong>mensione del testo che l’ER deve verificare.<br />

Sono mo<strong>di</strong>ficatori l’asterisco, le parentesi quadre e la barra inversa.<br />

Le Espressioni Regolari (ER) vengono principalmente impiegate nelle ricerche <strong>di</strong> un testo e nella<br />

manipolazione <strong>di</strong> stringhe. Una ER verifica un singolo carattere o una serie <strong>di</strong> caratteri -- una sottostringa<br />

o una stringa intera.<br />

•<br />

•<br />

L’asterisco -- * -- verifica un numero qualsiasi <strong>di</strong> ripetizioni della stringa <strong>di</strong> caratteri o l’ER che lo<br />

precede, compreso nessun carattere.<br />

“1133*” verifica 11 + uno o più 3 + altri possibili caratteri: 113, 1133,<br />

111312, eccetera.<br />

424

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!