Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: PHP e le espressioni regolari :: Indice Php

PHP e le espressioni regolari

Categoria: Php Inserito il: 13-12-2005 Stampa (4495 click)

Le espressioni regolari sono dei particolari costrutti sintattici che vengono utilizzati per le operazioni di pattern matching, cioè servono per rilevare la presenza di una sotto-stringa all'interno di una sequenza di caratteri principale.

Per fare un semplice esempio, un'operazione di pattern matching sulla sequenza di caratteri "Buon natale Carla" potrebbe essere la ricerca della sotto-stringa "Carla".

Una volta individuata la sotto-stringa all'interno della sequenza di caratteri potremmo aver concluso le nostre operazioni, oppure, potremmo avere la necessità di apportare delle modifiche sulla base del risultato ottenuto; potremmo per esempio voler sostituire all'interno di "Buon natale Carla" la sotto-stringa "Carla" con un'altra, ad esempio "mamma", in questo caso verrà operata un'azione di pattern sobstitution e il risultato sarà "Buon Natale mamma"

Le espressioni regolari sono considerate, a torto, uno degli argomenti pių complessi dello scripting PHP. Conosco numerosi sviluppatori veramente validi che non ne vogliono neanche sentir parlare e preferiscono non utilizzarle quando è possibile.

Nel corso di questa breve serie di articoli scopriremo che le espressioni regolari sono pių semplici da utilizzare di quanto non si creda, inoltre, sono utilissime in quanto risolvono problematiche che lo sviluppatore si trova ad affrontare quotidanamente.
Perchè creare funzioni personalizzate per operazioni che PHP ci consente di compiere attraverso costrutti nativi?

Le espressioni regolari non sono unicamente patrimonio del PHP, chiunque utilizza un PC da qualche tempo ha avuto a che fare con esse anche senza saperlo; pensate per esempio ai comandi "cerca" e "sostituisci" di cui sono dotati anche i pių semplici editor di testo come il NotePad di Windows o il Gedit di Linux.

Tramite le espressioni regolari possiamo però eseguire operazioni ancora pių raffinate come la validazione di una stringa o la formattazione di una sequanza di caratteri. Tramite una veloce ricerca sulla Rete troverete certamente numerosi esempi di espressioni regolari utilizzate per validare indirizzi di posta elettronica, dati numerici o URL.

Uno dei motivi per cui le espressioni regolari non godono di una buona fama presso coloro che utilizzano lo scripting server side in PHP sono i tempi di esecuzione ritenuti pių lenti rispetto a quelli necessari per altri costrutti; l'eccezione non è del tutto immotivata, in effetti i processi di ricerca all'interno delle stringhe necessitano l'occupazione di una certa quantità di memoria da destinare ai risultati delle operazioni svolte.
Avete presente la Clipbord nei sistemi operativi? Quando tagliamo o copiamo una stringa essa rappresenta lo spazio di memoria in cui viene allocato il dato su cui abbiamo operato.

In difesa delle espressioni regolari, possiamo però dire che ormai le macchine server disponibili sul mercato hanno in genere configurazioni talmente avanzate da non risentire gli effetti di questa allocazione di risorse, inoltre, raramente ci troveremo a dover eseguire matching su sequenze particolarmente lunghe ed impegnative per il sistema.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pių importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Zend Framework e database
Zend_Db_Adapter č un'API disponibile per lo Zend Framework che consente grazie a PDO di interfacciarsi a svariati tipi... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti