Expresiones regulares en PHP

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

PHP es, sin duda, el lenguaje de servidor por excelencia para desarrollos web. Por lo tanto, la cuestión de las expresiones regulares (o cualquier otro aspecto de programación, si a eso vamos) no estaría completa si no las vemos en este contexto.

Aunque el tema de las expresiones regulares en PHP ya se ha tratado en otro artículo de este blog, aquí vamos a comentar las funciones de las que disponemos en PHP para conseguir aprovechar al máximo las posibilidades de este recurso. Si eres desarrollador habitual en PHP, este artículo te servirá a modo de “chuleta” o referencia sobre este tema.

LAS EXPRESIONES REGULARES EN PHP

Lo primero que tenemos que tener en cuenta, a la hora de definir expresiones regulares en PHP, es la forma correcta de acotarlas. Si en JavaScript las acotamos con barras inclinadas, en PHP las regexp deben acotarse entre barras inclinadas y, a su vez, entre comillas simples, así:

$Expresion = '/[a-z]{4}/';

También pueden acotarse entre /# y #/ o entre '~ y ~', así:

$Expresion = '#[a-z]{4}#';
$Expresion = '~[a-z]{4}~';

Para cotejar un dato con una expresión regular recurrimos a la función preg_match(). Esta recibe, como primer argumento, la expresión regular que queremos usar como patrón de validación y, como segundo argumento, el dato a comprobar. Además, puede recibir otros parámetros opcionales, como se detalla en la documentación oficial. Sin embargo, su uso más simple es aquél para el que realmente existen las expresiones regulares: determinar si un dato coincide con un patrón. Observa el siguiente ejemplo:

Si el dato que estamos validando coincide con el patrón de la regexp, esta función devuelve un valor 1. En caso contrario devuelve un 0. Si se produce un error la función devuelve false. Sin embargo, el resultado 0 puede, en ocasiones, ser evaluado como false, por lo que, a la hora de comparar el resultado, es aconsejable emplear el operador ===, en lugar de ==.

     

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *