Autor Tema: ¿Qué son expresiones regulares?  (Leído 625 veces)

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
¿Qué son expresiones regulares?
« en: 27 de Junio de 2010, 23:26:19 pm »
Bueno, recién me senté y derepente se me metió una función en la cabeza, el "preg_match()", y recuerdo que alguien alguna vez me comentó que para esto se usan expresiones regulares, entonces quedé con la duda... ¿Qué son expresiones regulares?

A ver si me pueden explicar esto :P! Gracias.

Comunidad PHPeros

¿Qué son expresiones regulares?
« en: 27 de Junio de 2010, 23:26:19 pm »

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:¿Qué son expresiones regulares?
« Respuesta #1 en: 27 de Junio de 2010, 23:41:18 pm »
La expresiones regulares sirven para validar textos, mira este ejemplo que hize para validar e-mail en un registro, es decir para que no se registren con aaa.com o con a&sda@a.com y cosas así:
Citar
/^[\w]+@[\w]+(\.[\w]+)+$/i

Espero que hayas entendido ;)
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:¿Qué son expresiones regulares?
« Respuesta #2 en: 27 de Junio de 2010, 23:52:34 pm »
No, en verdad no entendí xD

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:¿Qué son expresiones regulares?
« Respuesta #3 en: 28 de Junio de 2010, 00:04:44 am »
No, en verdad no entendí xD
Mira, vez que en algunos campos de email en los formularios se pueden entrar e-mails como sdadas o sdasd.com o @asd.com, las expresiones regulares le indican a preg_match como deben estar compuesto el texto, en este caso los emails. Esto es sólo un ejemplo, no creas que las expresiones regulares sólo se usan para eso.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:¿Qué son expresiones regulares?
« Respuesta #4 en: 28 de Junio de 2010, 00:07:07 am »
Hace un tiempo yo hice un tutorial de lo que son las expresiones regulares, sólo es cuestión de usar el buscador de arriba a la derecha para encontrar el término que buscas ;)

Link: http://www.phperos.net/foro/index.php/topic,5635.0.html

Saludos ^^
- Moderador de PHP


Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:¿Qué son expresiones regulares?
« Respuesta #5 en: 28 de Junio de 2010, 00:09:58 am »
Hace un tiempo yo hice un tutorial de lo que son las expresiones regulares, sólo es cuestión de usar el buscador de arriba a la derecha para encontrar el término que buscas ;)

Link: http://www.phperos.net/foro/index.php/topic,5635.0.html

Saludos ^^
Ese que hiciste es POSIX es decir que sólo funciona con eregi y ya en PHP 6 es obsoleto pero para comenzar está muy bueno. Las expresiones regulares que utiliza preg son PCRE.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Dacan

  • PHPer@
  • **
  • Mensajes: 52
  • Karma: 1
    • Ver Perfil
Re:¿Qué son expresiones regulares?
« Respuesta #6 en: 28 de Junio de 2010, 00:23:28 am »
Son como parametros para validar un texto, por ejemplo que sean letras, que contenga un @...
Espero que entiendas.

Saludos, Dacan  :D

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:¿Qué son expresiones regulares?
« Respuesta #7 en: 28 de Junio de 2010, 00:26:58 am »
Ese que hiciste es POSIX es decir que sólo funciona con eregi y ya en PHP 6 es obsoleto pero para comenzar está muy bueno. Las expresiones regulares que utiliza preg son PCRE.

Eso no tiene nada que ver, lo único que cambia entre POSIX y REGEX son las funciones, en cuanto a la parte de la expresión regular en sí (que es el patrón de búsqueda) se mantiene igual, creo.

Perdóname si me equivoco xD
Saludos ^^

PD: Acá hay un tutorial de Westwest en donde explica las diferencias entre POSIX y REGEX: http://www.phperos.net/foro/index.php/topic,5005
« Última modificación: 28 de Junio de 2010, 00:29:49 am por Kevin Wronski »
- Moderador de PHP


Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:¿Qué son expresiones regulares?
« Respuesta #8 en: 28 de Junio de 2010, 00:39:34 am »
Eso no tiene nada que ver, lo único que cambia entre POSIX y REGEX son las funciones, en cuanto a la parte de la expresión regular en sí (que es el patrón de búsqueda) se mantiene igual, creo.

Perdóname si me equivoco xD
Saludos ^^

PD: Acá hay un tutorial de Westwest en donde explica las diferencias entre POSIX y REGEX: http://www.phperos.net/foro/index.php/topic,5005
A las expresiones regulares se le dicen REGEX, los tipos son POSIX & PCRE. Con respecto a que el paremetro de busqueda es lo mismo, si es verdad, por eso mismo le dije que lo utilize para empezar & luego que se lea uno de PCRE.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:¿Qué son expresiones regulares?
« Respuesta #9 en: 28 de Junio de 2010, 00:40:24 am »
Antes que nada, Kevin, debido a malas experiencias y malentendidos, desde hace 3 años aproximadamente he dejado de usar los searchs en los foros.

Y bueno, creo que ya estoy entendiendo... Por cierto, esto se puede usar en otros lenguajes de programación?.. Es que por ejemplo, esto me sirve en PHP para "declarar" el tipo de una variable string, cosa que en lenguajes como C++ y Java se declara de otra forma, aunque solo se dice estrictamente el tipo de variables (numeros enteros, reales, cadenas, caracteres, etc), pero no como el ejemplo que colocó Focux sobre los emails.

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:¿Qué son expresiones regulares?
« Respuesta #10 en: 28 de Junio de 2010, 00:45:30 am »
Creo que si, porque hasta en htaccess se usan expresiones regulares.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>