📢 Nuovo Corso Laravel API disponibile!

Esercizi Regex PHP

Ecco degli esercizi con soluzione per praticare l’uso delle espressioni regolari (regex) in PHP.

Esercizio 1: Verificare un Indirizzo Email

Utilizzare una regex per verificare se una stringa è un indirizzo email valido.
<?php
$email = "test@example.com";
$pattern = "/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/";
if (preg_match($pattern, $email)) {
echo "Indirizzo email valido";
} else {
echo "Indirizzo email non valido";
}
?>

Esercizio 2: Estrarre Numeri da una Stringa

Utilizzare una regex per estrarre tutti i numeri da una stringa.
<?php
$stringa = "Il prezzo è 123.45 e il codice è 67890";
$pattern = "/\d+/";
preg_match_all($pattern, $stringa, $matches);
print_r($matches[0]); // Array ( [0] => 123 [1] => 45 [2] => 67890 )
?>

Esercizio 3: Verificare un Numero di Telefono

Utilizzare una regex per verificare se una stringa è un numero di telefono valido.
<?php
$telefono = "+39 123 456 7890";
$pattern = "/^\+?\d{1,4}?\s?\d{3}\s?\d{3}\s?\d{4}$/";
if (preg_match($pattern, $telefono)) {
echo "Numero di telefono valido";
} else {
echo "Numero di telefono non valido";
}
?>

Esercizio 4: Rimuovere Caratteri Non Alfanumerici

Utilizzare una regex per rimuovere tutti i caratteri non alfanumerici da una stringa.
<?php
$stringa = "Hello, World! 123.";
$pattern = "/[^a-zA-Z0-9]/";
$stringaPulita = preg_replace($pattern, "", $stringa);
echo $stringaPulita; // Output: HelloWorld123
?>

Esercizio 5: Verificare una Password Complessa

Utilizzare una regex per verificare se una stringa è una password complessa.
<?php
$password = "Passw0rd!";
$pattern = "/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/";
if (preg_match($pattern, $password)) {
echo "Password complessa valida";
} else {
echo "Password non valida";
}
?>

Esercizio 6: Estrarre Indirizzi Email da un Testo

Utilizzare una regex per estrarre tutti gli indirizzi email da un testo.
<?php
$testo = "Contattaci a info@example.com o support@example.org.";
$pattern = "/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/";
preg_match_all($pattern, $testo, $matches);
print_r($matches[0]); // Array ( [0] => info@example.com [1] => support@example.org )
?>

Esercizio 7: Verificare un Codice Postale

Utilizzare una regex per verificare se una stringa è un codice postale italiano valido.
<?php
$cap = "00100";
$pattern = "/^\d{5}$/";
if (preg_match($pattern, $cap)) {
echo "Codice postale valido";
} else {
echo "Codice postale non valido";
}
?>