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 (6049 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
Connessioni dns-less ad Access con PHP
Utilizzando PHP è possibile sfruttare le librerie di un sistema Windows attraverso la direttiva new COM(), non sarà quindi arduo... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti