Semplificando, le espressioni regolari sono dei pattern che possono essere fatti corrispondere a delle stringhe. PHP mette a disposizione due tipi di espressioni regolari- le espressioni regolari POSIX e le espressioni regolari PHP. Il primo tipo può essere installato durante la configurazione di PHP attivando 1'opzione -with-regex. Gli utenti Windows non devono preoccuparsi di questo aspetto dal momento che POSIX Regex è abilitato di default. L'alternativa è rappresentata dalle espressioni regolari Perl-compatibili (PCRE). Spesso queste vengono considerate più veloci e hanno maggiori caratteristiche. Questa funzionalità è abilitata di default da PHP ma, nel caso compiliate PHP da soli, è possibile disattivare PCRE attivando -without-pcre-regex. Un pattern all'interno di un'espressione regolare contiene una stringa che può essere ricercata all'interno di un'altra stringa più grande. Ciò nonostante questo può essere ottenuto (più velocemente) utilizzando strpos(). Il vantaggio delle espressioni regolari è che mettono a disposizione un numero maggiore di caratteristiche speciali, quali ad esempio i caratteri speciali.
| Caratteri | Descrizione | Esempio |
| ^ | All'inizio della stringa | ^a significa che la stringa inizia con una a |
| $ | Alla fine della stringa | a$ significa che la stringa inizia con a |
| ? | 0 o 1 volta (in riferimento al carattere o all'espressione precedente | ab? significa a o ab |
| * | 0 o più volte volta (in riferimento al carattere o all'espressione precedente | ab* significa ab o abb o... |
| + | 1 o più volte volta (in riferimento al carattere o all'espressione precedente | ab+ significaab o abb o abbb o... |
| [...] | Caratteri in alternativa | PHP[45] significa PHP4 o PHP5 |
| - | Una sequenza di valori | PHP[3-5] significa PHP3 o PHP 4 o PHP5 |
| {^} | Cerca tutto tranne i caratteri che seguono | [^A-C] siginifca D o E o F o... |
| | | Pattern in alternativa | PHP4|PHP5 significa PHP4 o PHP5 |
| (...) | Definisce un sottopattern | (a)(b) significa ab, ma con due sottopattern (a e b) |
| . | Ogni carattere | . siginfica a, b, c, 0, 1, $, ... |
| {min. max} | Numero massimo e minimo di occorrenze; se si omette min o max, questo significa 0 o infinito | a{,3} siginfica stringa vuota, a, aaa, aaa, ... |
| Escape carattere succesivo | . sta per . |
Web Master di webdesignfirenze.com, titolare di web.at.work che ha realizzato il sito.
Mansioni: Programmatore, web designer e Analista