28.05.2013 Views

LOA HackLab - Autistici

LOA HackLab - Autistici

LOA HackLab - Autistici

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

86 C12 Regular Expressions<br />

Opzione Mnemonic Comportamento<br />

/i Ignore case No dà attenzione al fatto che le lettere siano<br />

maiuscole o minuscole<br />

/s Start new line Il “.” può rappresentare anche il carattere CR/LF<br />

/m Multiple lines La regexpr considere più linee come una linea unica<br />

/g Global search Riuscito il primo tentativo non abbandona la stringa, ma<br />

tenta nuovi match<br />

Vediamo qualche applicazione. Torniamo alla precedente /[Cc]orso di UNIX/. Una<br />

scrittura sostituibile, per quanto non di uguali esiti, potrebbe essere:<br />

/Corso di UNIX/i<br />

L’applicazione di /i cerca tanto la stringa “Corso di UNIX” quanto “corso di UNIX”. Il<br />

motivo per cui non è sostitutiva è dovuto al fatto che essa rappresenta anche versioni più<br />

esotiche come “CorSo dI UnIx”. Decisamente non quello che volevamo!<br />

Altra situazione:<br />

s/abc/def/<br />

applicata alla stringa “abc abc abc”, la regexpr la trasforma in “def abc abc”. Se volessimo<br />

eseguire la sostituzione anche sui possibili match successivi potremmo aggiungere l’opzione<br />

/g come in:<br />

s/abc/def/g<br />

la quale porterebbe alla stringa finale “def def def”.<br />

Sulle altre due opzioni non si danno esempi, risultando molto semplici e di rada<br />

applicazione.

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

Saved successfully!

Ooh no, something went wrong!