As 7 expressões regulares que devemos conhecer

Hoje vou mostrar algumas expressões regulares que podem ser muito úteis. Pra quem não conhece, recomendo a leitura do Guia de Expressões Regulares Online (http://guia-er.sourceforge.net). Os exemplos estão em PHP, mas podem ser facilmente adaptados para qualquer linguagem que suporte regex.

Números de telefone

$telefone = "(54) 9613-4396";
if (preg_match('/^(\(?[0-9]{2}\)?|[-. ]?)[ ][0-9]{4}[-. ]?[0-9]{4}$/', $telefone)) {
	echo "Telefone válido";
}

CEP

$cep = "99150-000";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4})?$/', $cep)) {
	echo "CEP válido";
}

Comentários em várias linhas

$comentario = "/* comentario bla bla bla*/";
if (preg_match('/^[(/*)+.+(*/)]$/', $comentario)) {
	echo "Comentário válido";
}


Datas (padrão brasileiro)

$data = "12/04/1990";
if (preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $data)) {
	echo "Data válida";
}


Cores hexadecimais

$cor = "#666666";
if (preg_match('/^#(?:(?:[a-f\d]{3}){1,2})$/i', $cor)) {
echo "Cor válida";
}

Endereços IP

$ip = "255.255.255.0";
if (preg_match('^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$', $ip)) {
	echo "IP válido";
}

E-mails

$email = "contato@fonini.net";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',
$email)) {
	echo "E-mail válido";
}

Comente você também

* Copie este código:

* Cole ou digite o código aqui:

Google