Foros del Web » Programación para mayores de 30 ;) » RegExp »

[SOLUCIONADO] expresiones regulares

Estas en el tema de expresiones regulares en el foro de RegExp en Foros del Web. Hola. Estoy tratando de crear un validador de texto y quiero que se den por bueno los simbolos \ y / utilizados al escribir el ...
  #1 (permalink)  
Antiguo 21/01/2014, 11:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
expresiones regulares

Hola.

Estoy tratando de crear un validador de texto y quiero que se den por bueno los simbolos \ y / utilizados al escribir el nombre de una calle, por ejemplo: C/ Central .

Uso esta expresión:

Código PHP:
Ver original
  1. $valor = "C/ Central 10, 1º 5ª";
  2. $min  = 6;
  3. $max = 100;
  4.  
  5. $permitidos = '/^[a-zA-Z0-9\.º ª,áéíóúAÉÍÓÚàèìòùÀÈÌÒÙÑñ]{'.$min.','.$max.'}$/i';
  6. if (preg_match($permitidos,$valor)) return true;
  7. else return false;

Necesito añadir esos 2 simbolos pero no encuentro la manera... Alguien podría echarme una mano?

Gracias.
  #2 (permalink)  
Antiguo 21/01/2014, 11:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: expresiones regulares

Una expresión regular es parte de un sub-lenguaje muy aparte con sus propias reglas y sintaxis, no corresponde a programación PHP.

Ahora, para poder especificar dichos caracteres debes entender lo que es un separador de expresión y también como escapar secuencias especiales.

Todo eso se explica en el siguiente manual: http://www.php.net/manual/es/referen...ern.syntax.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/01/2014, 00:38
Avatar de internetdominus  
Fecha de Ingreso: noviembre-2005
Ubicación: Estados Unidos
Mensajes: 535
Antigüedad: 18 años, 5 meses
Puntos: 12
Respuesta: expresiones regulares

No te funciona con?

Código:
 \\ \/
El backslash es un metacharacter y tiene propiedades especiales en Regex. Si quieres que sus propiedades especiales sean ignoradas tienes que escribir dos backslash juntos: \\

Igual con el punto: \.
El punto es un metacharacter que encuentra cualquier caracter, esa es su propiedad en Regex y para ignorarla debes agregar un backslash: \.

Y no deberias tener porblemas con el forwardslash ya que no tiene propiedades especiales: /
pero nada pierdes probando: \/ sin espacio como el codigo arriba.

Aqui tienes un excelente tutorial en Ingles de Regular Expressions"

http://www.regular-expressions.info/...s.html#special

Si quieres practicar con Regex para diferentes lenguages, te recomiendo RegexBuddy, un programa creado por el mismo autor de la pagina arriba, te permite crear regex para PHP, Perl, Java Script, etc:

http://www.regexbuddy.com/

Etiquetas: expresiones, php, regulares
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:38.